Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

MongoDB 数据 API


MongoDB 数据 API

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

在可能的情况下应使用语言驱动程序,但当驱动程序不可用或对应用程序来说过于复杂时,MongoDB 数据 API 就派上用场了。


使用 MongoDB 数据 API 进行读写

MongoDB 数据 API 是一组预配置的 HTTPS 终结点,可用于读写 MongoDB Atlas 数据库中的数据。

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


集群配置

要使用数据 API,您必须首先从 Atlas UI 中启用此功能。

从 MongoDB Atlas 仪表板中,导航到左侧菜单中的**数据 API**。

选择您想要为其启用 API 的数据源,然后单击**启用数据 API**。


访问级别

默认情况下,不会授予任何访问权限。选择您想要授予数据 API 的访问级别。选项包括:无访问权限、只读、读写或自定义访问权限。


数据 API 密钥

要对数据 API 进行身份验证,您必须首先创建数据 API 密钥。

单击**创建 API 密钥**,输入密钥名称,然后单击**生成 API 密钥**。

请务必复制 API 密钥并将其保存在安全的地方。您将无法再次查看此密钥。


发送数据 API 请求

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

在接下来的示例中,我们将使用 curl 查找 movies 集合中 sample_mflix 数据库的第一个文档。我们在聚合入门部分加载了此示例数据。

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

您可以在 MongoDB Atlas UI 中数据 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",
    "projection": {"title": 1}
}'
亲自尝试 »

数据 API 终结点

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

数据 API 提供了多个可用的终结点。

所有终结点都以基本 URL 开头:https://data.mongodb-api.com/app/<数据 API 应用程序 ID>/endpoint/data/v1/action/


查找单个文档

终结点

POST Base_URL/findOne

使用 findOne 终结点可以在集合中查找单个文档。

请求正文

示例

{
  "dataSource": "<data source name>",
  "database": "<database name>",
  "collection": "<collection name>",
  "filter": <query filter>,
  "projection": <projection>
}

查找多个文档

终结点

POST Base_URL/find

使用 find 终结点可以在集合中查找多个文档。

请求正文

示例

{
  "dataSource": "<data source name>",
  "database": "<database name>",
  "collection": "<collection name>",
  "filter": <query filter>,
  "projection": <projection>,
  "sort": <sort expression>,
  "limit": <number>,
  "skip": <number>
}

插入单个文档

终结点

POST Base_URL/insertOne

使用 insertOne 终结点可以将单个文档插入集合中。

请求正文

示例

{
  "dataSource": "<data source name>",
  "database": "<database name>",
  "collection": "<collection name>",
  "document": <document>
}

插入多个文档

终结点

POST Base_URL/insertMany

使用 insertMany 终结点可以将多个文档插入集合中。

请求正文

示例

{
  "dataSource": "<data source name>",
  "database": "<database name>",
  "collection": "<collection name>",
  "documents": [<document>, <document>, ...]
}

更新单个文档

终结点

POST Base_URL/updateOne

请求正文

示例

{
  "dataSource": "<data source name>",
  "database": "<database name>",
  "collection": "<collection name>",
  "filter": <query filter>,
  "update": <update expression>,
  "upsert": true|false
}

更新多个文档

终结点

POST Base_URL/updateMany

请求正文

示例

{
  "dataSource": "<data source name>",
  "database": "<database name>",
  "collection": "<collection name>",
  "filter": <query filter>,
  "update": <update expression>,
  "upsert": true|false
}

删除单个文档

终结点

POST Base_URL/deleteOne

请求正文

示例

{
  "dataSource": "<data source name>",
  "database": "<database name>",
  "collection": "<collection name>",
  "filter": <query filter>
}

删除多个文档

终结点

POST Base_URL/deleteMany

请求正文

示例

{
  "dataSource": "<data source name>",
  "database": "<database name>",
  "collection": "<collection name>",
  "filter": <query filter>
}

聚合文档

终结点

POST Base_URL/aggregate

请求正文

示例

{
  "dataSource": "<data source name>",
  "database": "<database name>",
  "collection": "<collection name>",
  "pipeline": [<pipeline expression>, ...]
}

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.