Data API

收藏182

阅读2577

更新时间2025-08-13

MongoDB Data API

MongoDB Data API 可用于查询和更新 MongoDB 数据库中的数据,而无需特定于语言的驱动程序。

应尽可能使用语言驱动程序,但是当驱动程序不可用或对于应用程序而言过于繁琐时,MongoDB Data API 就派上了用场。

使用 MongoDB Data API 读取和写入

MongoDB Data API 是一组预先配置的 HTTPS 端点,可用于从 MongoDB Atlas 数据库中读取和写入数据。

使用 MongoDB Data API,您可以在 MongoDB Atlas 数据库中创建、读取、更新、删除或聚合文档。

集群配置

为了使用 Data API,您必须首先从 Atlas UI 启用该功能。

在 MongoDB Atlas 仪表板中,从左侧菜单导航到 Data API

选择要启用 API 的数据源,然后单击“启用 Data API”。

访问权限

默认情况下,不授予任何访问权限。选择您要授予 Data API 的访问级别。可选择的有:无访问权限、只读、读写或自定义访问。

Data API 密钥

为了通过 Data API 进行身份验证,您必须首先创建 Data API 密钥。

单击“创建 API 密钥”,为密钥输入一个名称,然后单击“生成 API 密钥”。

请务必复制 API 密钥并将其保存在安全的地方。您不会再有机会再次看到这个密钥。

发送 Data API 请求

现在我们可以使用 Data API 向数据库发送请求。

在下一个例子中,我们将使用 curl 在我们的 sample_mflix 数据库的 movies 集合中找到第一个文档。我们在“聚合介绍”部分中加载了此示例数据。

要运行此例子,您需要您的应用 ID、API 密钥和集群名称。

您可以在 MongoDB Atlas UI 的 Data API 页面的 URL 端点字段中找到您的应用程序 ID。

实例

curl --location --request POST 'https://data.mongodb-api.com/app//endpoint/data/v1/action/findOne' \
--header 'Content-Type: application/json' \
--header 'Access-Control-Request-Headers: *' \
--header 'api-key: ' \
--data-raw '{
    "dataSource":"",
    "database":"sample_mflix",
    "collection":"movies",
    "投影": {"title": 1}
}'

运行实例

Data API 端点

在前面的示例中,我们在 URL 中使用了 findOne 端点。

有几个端点可用于 Data API。

所有端点均以基本 URL 开头:https://data.mongodb-api.com/app//endpoint/data/v1/action/

查找单个文档

端点

POST Base_URL/findOne

findOne 端点用于在集合中查找单个文档。

请求正文

实例

{
  "dataSource": "<数据源名称>",
  "database": "<数据库名称>",
  "collection": "<集合名称>",
  "filter": <查询过滤器>,
  "投影": <投影>
}

查找多个文档

端点

POST Base_URL/find

find 端点用于在集合中查找多个文档。

请求正文

实例

{
  "dataSource": "<数据源名称>",
  "database": "<数据库名称>",
  "collection": "<集合名称>",
  "filter": <查询过滤器>,
  "投影": <投影>,
  "sort": <排序表达式>,
  "limit": <数字>,
  "skip": <数字>
}

插入单个文档

端点

POST Base_URL/insertOne

insertOne 端点用于将单个文档插入到集合中。

请求正文

实例

{
  "dataSource": "<数据源名称>",
  "database": "<数据库名称>",
  "collection": "<集合名称>",
  "document": <文档>
}

插入多个文档

端点

POST Base_URL/insertMany

insertMany 端点用于向集合中插入多个文档。

请求正文

实例

{
  "dataSource": "<数据源名称>",
  "database": "<数据库名称>",
  "collection": "<集合名称>",
  "documents": [<文档>, <文档>, ...]
}

更新单个文档

端点

POST Base_URL/updateOne

请求正文

实例

{
  "dataSource": "<数据源名称>",
  "database": "<数据库名称>",
  "collection": "<集合名称>",

  "filter": <查询过滤器>,
  "update": <更新表达式>,
  "upsert": true|false
}

更新多个文档

端点

POST Base_URL/updateMany

请求正文

实例

{
  "dataSource": "<数据源名称>",
  "database": "<数据库名称>",
  "collection": "<集合名称>",
  "filter": <查询过滤器>,
  "update": <更新表达式>,
  "upsert": true|false
}

删除单个文档

端点

POST Base_URL/deleteOne

请求正文

实例

{
  "dataSource": "<数据源名称>",
  "database": "<数据库名称>",
  "collection": "<集合名称>",
  "filter": <查询过滤器>
}

删除多个文档

端点

POST Base_URL/deleteMany

请求正文

实例

{
  "dataSource": "<数据源名称>",
  "database": "<数据库名称>",
  "collection": "<集合名称>",
  "filter": <查询过滤器>
}

聚合文档

端点

POST Base_URL/aggregate

请求正文

实例

{
  "dataSource": "<数据源名称>",
  "database": "<数据库名称>",
  "collection": "<集合名称>",
  "pipeline": [<管道表达式>, ...]
}

相关

视频

RELATED VIDEOS

更多

免费

MySQLi面向过程极速入门
中级 MySQLi面向过程极速入门

127669次学习

收藏

免费

MySQLi面向对象编程极速入门

免费

MySQL权威开发指南(教程)

免费

MySQL高级进阶视频教程
高级 MySQL高级进阶视频教程

122147次学习

收藏

免费

肖文吉Oracle视频教程
初级 肖文吉Oracle视频教程

72226次学习

收藏

免费

魔乐科技oracle视频教程
初级 魔乐科技oracle视频教程

54966次学习

收藏

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号