MongoDB Data API
1. 什么是 MongoDB Data API
MongoDB Data API 是一项完全托管的服务,允许你通过标准的 HTTPS 请求来读取、写入和聚合 MongoDB Atlas 中的数据。
使用该 API 的最大优势在于你不需要安装任何 MongoDB 驱动程序、库或维护复杂的数据库连接。你只需要一个标准的 HTTP 客户端(如浏览器中的 fetch 或命令行中的 curl)以及一个有效的 API 密钥。
2. 为什么使用 Data API
由于 Data API 是基于 HTTP 的,它非常适合以下场景:
- Web 前端应用: 直接从客户端脚本与数据库交互(需注意安全性)。
- Serverless 函数: 在 AWS Lambda 或 Google Cloud Functions 等无服务器环境中使用,避免数据库连接数管理问题。
- 轻量化集成: 仅需简单数据读写的物联网设备或小型脚本。
3. 启用 Data API
在你可以发起调用之前,必须先在 MongoDB Atlas 控制面板中启用该服务。
3.1 启用步骤
- 登录你的 MongoDB Atlas 账户。
- 在左侧导航栏中,点击 "Data API"。
- 选择你想要关联的 Cluster(集群)。
- 点击 "Enable Data Access from the Data API" 按钮。
4. 生成 API 密钥
为了确保数据的安全性,所有的 API 调用都必须经过身份验证。你需要生成一个 API 密钥。
4.1 生成步骤
- 在 Data API 页面中,点击 "Create API Key" 按钮。
- 为你的密钥输入一个名称(例如 "my_app_key")。
- 点击 "Generate API Key"。
重要提示: 务必立即复制并保存生成的密钥。为了安全起见,Atlas 之后将不会再向你展示该密钥的全文。如果你弄丢了它,你将不得不重新生成一个新的。
5. 发起 API 调用
一旦你拥有了 API 密钥和数据端点(URL),你就可以开始操作数据了。
5.1 API 结构
Data API 提供了一系列端点,其操作方式与 MongoDB 驱动程序中的方法非常相似,例如:
findOne: 查找单个文档。find: 查找多个文档。insertOne: 插入单个文档。updateOne: 更新单个文档。
示例代码(使用 JavaScript fetch)
fetch('https://data.mongodb-api.com/app/data-xxxx/endpoint/data/v1/action/findOne', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'api-key': '你的_API_KEY',
},
body: JSON.stringify({
collection: 'posts',
database: 'blog',
dataSource: 'Cluster0',
filter: { title: 'Post Title 1' }
}),
})
.then(response => response.json())
.then(data => console.log(data));通过这种方式,你可以灵活地在任何支持 HTTP 请求的平台上操作你的 MongoDB 数据。