MongoDB 教程

浏览6735
更新时间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/<DATA API APP ID>/endpoint/data/v1/action/findOne' \
--header 'Content-Type: application/json' \
--header 'Access-Control-Request-Headers: *' \
--header 'api-key: <DATA API KEY>' \
--data-raw '{
    "dataSource":"<CLUSTER NAME>",
    "database":"sample_mflix",
    "collection":"movies",
    "投影": {"title": 1}
}'

运行实例

Data API 端点

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

有几个端点可用于 Data API。

所有端点均以基本 URL 开头:https://data.mongodb-api.com/app/<Data API App ID>/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": [<管道表达式>, ...]
}

相关视频

更多

免费

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

13.3万次学习

收藏

免费

MySQLi面向对象编程极速入门
中级MySQLi面向对象编程极速入门

7.5万次学习

收藏

免费

MySQL权威开发指南(教程)
初级MySQL权威开发指南(教程)

15.9万次学习

收藏

免费

ECMAScript 6 入门
中级ECMAScript 6 入门

1.4万次学习

收藏

精品课程

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

共29课时

64.9万人学习

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

共25课时

41.2万人学习

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

共43课时

76.6万人学习

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

共25课时

64.1万人学习

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

共22课时

24.3万人学习

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

共28课时

36.2万人学习

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

共89课时

133.1万人学习

热门下载

更多
phpStudy 2018最新版
phpStudy 2018最新版

集成PHP7,16种组合,超全大合集

下载

VC9 32位
VC9 32位

VC9 32位 phpstudy集成安装环境运行库

下载

VC11 32位
VC11 32位

VC11 32位 phpstudy集成安装环境运行库​

下载

php程序员工具箱完整版
php程序员工具箱完整版

程序员工具箱 v1.0 php集成环境

下载

VC14 32位
VC14 32位

VC14 32位 phpstudy安装环境运行库

下载

SublimeText3汉化版
SublimeText3汉化版

中文版,非常好用

下载

Notepad++ Windows版
Notepad++ Windows版

Notepad++ 8.9.7 Windows版官方安装包,适合 Windows 用户进行代码编辑、文本处理、语法高亮和插件扩展配置。

下载