MongoDB (预览版)

MongoDB 是开发人员所喜爱的常规用途、分布式文档数据平台,在企业中用于运行各种工作负载。现在,可以使用 MongoDB 连接器浏览各种终结点,并在集合上执行 CRUD作和聚合。

此连接器在以下产品和区域中可用:

服务 Class 区域
Copilot Studio 高级 除以下各项外的所有 Power Automate 区域
     - 美国政府 (GCC)
     - 美国政府 (GCC High)
     - 由世纪互联运营的中国云
     - 美国国防部(DoD)
逻辑应用程序 标准 除以下各项外的所有 逻辑应用区域
     - Azure 政府区域
     - Azure 中国区域
     - 美国国防部(DoD)
Power Apps - 不可用
Power Automate 高级 除以下各项外的所有 Power Automate 区域
     - 美国政府 (GCC)
     - 美国政府 (GCC High)
     - 由世纪互联运营的中国云
     - 美国国防部(DoD)
联系人​​
Name MongoDB 支持
URL https://www.mongodb.com/community/forums/
Email support-operations@mongodb.com
连接器元数据
发布者 MongoDB 公司
网站 https://www.mongodb.com
隐私策略 https://www.mongodb.com/legal/privacy-policy
类别 Data

MongoDB 连接器提供了一种通过租户中使用 Azure 函数托管的数据 API 连接到 MongoDB Atlas 的简单方法,用于将数据读取和写入 MongoDB Atlas 集合。 借助 MongoDB 连接器,可以在几分钟内轻松对数据执行 CRUD作和聚合,并允许查询 MongoDB 以在 Power Apps、Power Automate 和逻辑应用中生成丰富的应用和工作流。

*** 请注意,MongoDB 从 2025 年 9 月 弃用 Atlas 数据 API ,因此使用此连接器方法设置 Azure 函数并使用其 URL 和 API 密钥,而不是在应用和流中使用 Atlas 的 API 密钥。 ***

先决条件

  1. 配置 Atlas 环境

在此处注册新的 Atlas 帐户。 按照步骤 1 到 4(创建 Atlas 帐户、部署免费群集、将 IP 添加到 IP 访问列表和创建数据库用户)设置 Atlas 环境。

  1. 将 Azure 函数设置为 Atlas 数据 API 若要设置将托管代码以充当 Atlas 数据 API 的 Azure 函数,我们有 个选项 - 1。使用 GitHub Actions OR 2。使用 Zip 部署

    如果能够分叉当前存储库,请选择 GitHub作方法,可以在该存储库中启用 GitHub作,并且想要添加更多 API,并首选现时设置的 CI/CD 或 DevOps。 但是,如果你正在寻找一种快速而简单的部署方式,并且只需要设置 Azure 函数来替换 Atlas 数据 API,请使用 Zip 部署选项。

    选项 1:使用 GitHub作设置 Azure 函数

    a.Fork mongoDB 存储库。 记下新的 分叉存储库 URL。 如果默认情况下未启用 GitHub作,请转到 “设置 -> 作 -> 常规 ”分叉存储库中启用它们,然后选择“允许作/可重用工作流”选项之一。

    b.单击以下 “部署到 Azure ”按钮,在租户中创建 Azure 函数。

    部署到 Azure

    c. 选择或创建资源组,其中包含 Azure 函数及其关联的组件(应用服务计划、存储帐户和 App Insights)。 如果想要遵循某些特定标准,可以将函数名称和 SKU 保留为默认值或更改。 建议将群集名称添加到函数应用名称,以便其唯一且易于识别。

    为要对其运行此 Azure 函数的群集提供 MongoDB 连接 URL。 此连接字符串将另存为 Environmnet 变量。 将分叉存储库 URL 作为 GitHub 存储库提供。 选择“ 创建 ”,它将使用关联的资源创建 Azure 函数。 请注意,在此阶段创建函数应用时,会填充 env 变量,但实际函数尚未部署到函数应用。

    d. 若要从存储库运行 GitHub作并部署函数,请从创建的 Azure 函数获取发布配置文件。

    它下载,在文本编辑器中打开它,并复制其所有内容。

    GetPublishProfile.png

    e. 转到 GitHub 存储库 - 设置 ->> 机密和变量 ->作单击“新建存储库机密”,并将发布配置文件中的整个值复制到名为“AZUREAPPSERVICE_PUBLISHPROFILE”的新机密

    f. 在 README 和 提交更改 中稍作更改,以调用 GitHub作,将 Python 代码部署到函数应用中。 现在,应会看到 Functon App 中可用的函数以及已部署function_app.py中的代码。

    g. GitHub 存储库中的“GitHub作”选项卡将显示部署中的步骤(包括依赖项的安装)以及每个步骤的结果。

    选项 2:使用 ZipDeploy 设置 Azure 函数

    a。 单击以下“ 部署到 Azure ”按钮,在租户中创建 Azure 函数。

    部署到 Azure

    b. 选择或创建资源组,其中包含 Azure 函数及其关联的组件(应用服务计划、存储帐户和 App Insights)。 如果想要遵循某些特定标准,可以将函数名称和 SKU 保留为默认值或更改。 我们重新建议将群集名称添加到函数应用名称,以便其唯一且易于识别。

    请 ** DONOT 更改 ** packageUrl,因为它是存储帐户的 SAS URL,其中包含需要部署的 zip。 选择“ 创建 ”,它将创建 Azure 函数应用,将 Azure 函数与关联的资源一起部署。

如何获取凭据

获取 BaseUrl 和 API 密钥

a。 从 Function App 中,选择函数并单击 “获取函数 URL ”。 从头到“/action”之前复制函数 URL,如下面的屏幕截图所示。 这是用于调用任何 MongoDB CRUD/聚合 API 的基本 URL

GetFunctionUrl.png

b. 转到 Function App -> 在 Functions -> 应用密钥下,获取 Azure 函数的_master默认 API 密钥。这是将用于创建 MongoDB 连接以调用任何 MongoDB CRUD/聚合 API 的 API 密钥

连接器入门

  1. 先决条件完成后,转到 PowerAutomate -> 连接。 单击“新建连接”,在右上角的搜索栏中搜索 MongoDB,如屏幕截图中所示。

MongoDBPremiumConnector.png

  1. 单击 MongoDB 连接,会看到以下弹出窗口,要求输入 API 密钥和基本 URL。

MongoDBConnection.png

  1. 对于“基 URL”和“API 密钥”字段,请输入从 上面的“如何获取凭据 ”部分检索的值

对 MongoDB Atlas 群集使用 8 个数据 API 之一执行任何 CRUD作。 对于复杂的查询,请使用“运行聚合管道”API 来使用聚合阶段来将输出从一个阶段按摩到另一个阶段。 MongoDB 的灵活性和活力使你可以创建丰富的应用并自动执行任何耗时的过程。 通过向同一集合添加更多功能和字段,可以不断增强应用。

已知问题和限制

由于 MongoDB 不强制实施架构,因此当前连接器只能与 Power Automate 和逻辑应用一起使用,后者仅支持 API 响应的动态架构,然后可以使用“分析 JSON”构造进行分析。 它可以通过调用 Power Automate 流进行每个 MongoDB 交互,在 Power Apps 中使用。 还可以继续使用 来自 Microsoft Github 存储库 的认证 MongoDB 连接器作为自定义连接器,以便根据 MongoDB 集合架构直接在 Power Apps 中使用它来自定义响应架构。

适用于 MongoDB 数据作的限制也适用于 MongoDB 连接器。 请参阅此 链接 ,详细了解数据 API 用户上下文中不支持的聚合阶段。

有关 Azure 函数(例如超时和其他每个资源计划的服务限制)的已知限制,请遵循此 链接

常见错误和补救措施

此处也应用了典型的 API 响应代码。 任何 4XX 错误都表示来自客户端的请求出现问题。 确保 DataSource、数据库、集合以有效的 JSON 格式提供。 有关示例,请参阅此 Postman 集合 。 对于 5XX 错误,请确保 Azure 函数已启动并运行,并检查其跟踪以进一步调查。

正在创建连接

连接器支持以下身份验证类型:

默认 用于创建连接的参数。 所有区域 不可共享

违约

适用:所有区域

用于创建连接的参数。

这是不可共享的连接。 如果 Power App 与另一个用户共享,系统会提示其他用户显式创建新连接。

Name 类型 Description 必选
API 密钥 securestring 此 API 的 API 密钥 True
BaseUrl 字符串 Azure 函数 URL(示例:https://mdb-dataapi-repl.azurewebsites.net/api/mdb_dataapi) True

限制

名称 调用 续订期
每个连接的 API 调用数 100 60 秒

操作

删除多个文档

可以使用 deleteMany 一次性删除多个文档。 使用筛选器属性指定要删除的文档。 请注意,使用此 API 没有任何筛选器将删除集合中的所有文档。 谨慎使用 deletemany。

删除文档

若要删除单个文档,请使用 deleteOne 终结点。 使用请求正文中的筛选器属性指定搜索条件。 如果多个文档与条件匹配,则只会删除第一个匹配项。

插入多个文档

可以使用 insertMany 终结点一次添加多个文档。 在这种情况下,必须使用请求正文中的 documents 属性来指定要插入到集合中的文档数组。

插入文档

使用 insertOne 终结点,可以将文档添加到集合中。 使用请求正文中的文档属性指定应创建的文档。

更新多个文档

使用 updateMany,可以更新与请求正文中指定的特定筛选器匹配的所有文档。 使用更新字段中的某个更新运算符更新文档。

更新文档

可以使用 updateOne 终结点更新单个记录。 使用请求正文中的筛选器属性指定搜索条件。 如果多个文档与条件匹配,则仅返回第一个匹配项。 然后使用更新字段指定应更新的内容。 应使用其中一个更新运算符来更新文档。

查找多个文档

使用查找终结点,可以一次性提取多个文档。 使用请求正文中的筛选器属性指定要筛选的条件。 如果传递空对象,将返回集合中的所有文档。

查找文档

使用 findOne 终结点可从集合中检索单个文档。 使用请求正文中的筛选器属性指定搜索条件。 如果多个文档与条件匹配,则仅返回第一个匹配项。

运行聚合管道

甚至可以使用数据 API 运行聚合管道。 为此,请使用聚合终结点,并在请求正文的管道字段中指定管道。

删除多个文档

可以使用 deleteMany 一次性删除多个文档。 使用筛选器属性指定要删除的文档。 请注意,使用此 API 没有任何筛选器将删除集合中的所有文档。 谨慎使用 deletemany。

参数

名称 密钥 必需 类型 说明
MongoDB 群集名称
dataSource True string

群集的名称。

MongoDB 数据库名称
database True string

数据库的名称。

MongoDB 集合名称
collection True string

集合的名称。

筛选器
filter True object

MongoDB 查询筛选器。 deleteMany作将删除与此筛选器匹配的集合中的所有文档。

返回

名称 路径 类型 说明
deletedCount
deletedCount integer

deletedCount

删除文档

若要删除单个文档,请使用 deleteOne 终结点。 使用请求正文中的筛选器属性指定搜索条件。 如果多个文档与条件匹配,则只会删除第一个匹配项。

参数

名称 密钥 必需 类型 说明
MongoDB 群集名称
dataSource True string

群集的名称。

MongoDB 数据库名称
database True string

数据库的名称。

MongoDB 集合名称
collection True string

集合的名称。

筛选器
filter True object

MongoDB 查询筛选器。 deleteOne作将删除集合中与此筛选器匹配的第一个文档。

返回

名称 路径 类型 说明
deletedCount
deletedCount integer

deletedcount

插入多个文档

可以使用 insertMany 终结点一次添加多个文档。 在这种情况下,必须使用请求正文中的 documents 属性来指定要插入到集合中的文档数组。

参数

名称 密钥 必需 类型 说明
MongoDB 群集名称
dataSource True string

群集的名称。

MongoDB 数据库名称
database True string

数据库的名称。

MongoDB 集合名称
collection True string

集合的名称。

文件
documents object

items

返回

名称 路径 类型 说明
insertedIds
insertedIds array of string

insertedIds

插入文档

使用 insertOne 终结点,可以将文档添加到集合中。 使用请求正文中的文档属性指定应创建的文档。

参数

名称 密钥 必需 类型 说明
MongoDB 群集名称
dataSource True string

群集的名称。

MongoDB 数据库名称
database True string

数据库的名称。

MongoDB 集合名称
collection True string

集合的名称。

文档
document True object

要插入到集合中的 EJSON 文档。

返回

名称 路径 类型 说明
insertedId
insertedId string

insertedId

更新多个文档

使用 updateMany,可以更新与请求正文中指定的特定筛选器匹配的所有文档。 使用更新字段中的某个更新运算符更新文档。

参数

名称 密钥 必需 类型 说明
MongoDB 群集名称
dataSource True string

群集的名称。

MongoDB 数据库名称
database True string

数据库的名称。

MongoDB 集合名称
collection True string

集合的名称。

筛选器
filter True object

MongoDB 查询筛选器。 updateMany作修改与此筛选器匹配的集合中的所有文档。

更新
update True object

一个 MongoDB 更新表达式,指定如何修改匹配的文档。

upsert
upsert boolean

仅当没有文档与指定的筛选器匹配时,才会应用 upsert 标志。 如果为 true,updateMany作将插入一个新文档,该文档与应用了指定更新的筛选器匹配。

返回

名称 路径 类型 说明
matchedCount
matchedCount integer

matchedcount

modifiedCount
modifiedCount integer

modifiedcount

更新文档

可以使用 updateOne 终结点更新单个记录。 使用请求正文中的筛选器属性指定搜索条件。 如果多个文档与条件匹配,则仅返回第一个匹配项。 然后使用更新字段指定应更新的内容。 应使用其中一个更新运算符来更新文档。

参数

名称 密钥 必需 类型 说明
MongoDB 群集名称
dataSource True string

群集的名称。

MongoDB 数据库名称
database True string

数据库的名称。

MongoDB 集合名称
collection True string

集合的名称。

筛选器
filter True object

MongoDB 查询筛选器.UpdateOne作修改集合中与此筛选器匹配的第一个文档。

更新
update True object

一个 MongoDB 更新表达式,指定如何修改匹配的文档。

upsert
upsert boolean

仅当没有与指定筛选器匹配的文档时,Upsert 标志才适用。 如果为 true,updateOne作将插入一个新文档,该文档与应用了指定更新的筛选器匹配。

返回

名称 路径 类型 说明
matchedCount
matchedCount integer

matchedcount

modifiedCount
modifiedCount integer

modifiedcount

查找多个文档

使用查找终结点,可以一次性提取多个文档。 使用请求正文中的筛选器属性指定要筛选的条件。 如果传递空对象,将返回集合中的所有文档。

参数

名称 密钥 必需 类型 说明
MongoDB 群集名称
dataSource True string

群集的名称。

MongoDB 数据库名称
database True string

数据库的名称。

MongoDB 集合名称
collection True string

集合的名称。

筛选器
filter object

MongoDB 查询筛选器。查找作返回集合中与此筛选器匹配的文档。如果未指定筛选器,该作将匹配集合的所有文档。

投影
projection object

MongoDB 查询投影。根据投影,返回的文档要么省略特定字段,要么只包含指定的字段和值。

排序
sort object

MongoDB 排序表达式。 匹配的文档以表达式中指定的字段的升序或降序返回。

limit
limit integer

要包含在返回的结果集中的最大匹配文档数。 每个请求最多可以返回 50,000 个文档。

跳过
skip integer

在将匹配的文档添加到结果集之前要跳过的文档数。

返回

名称 路径 类型 说明
文件
documents array of object

文件

items
documents object

查找文档

使用 findOne 终结点可从集合中检索单个文档。 使用请求正文中的筛选器属性指定搜索条件。 如果多个文档与条件匹配,则仅返回第一个匹配项。

参数

名称 密钥 必需 类型 说明
MongoDB 群集名称
dataSource True string

群集的名称。

MongoDB 数据库名称
database True string

数据库的名称。

MongoDB 集合名称
collection True string

集合的名称。

筛选器
filter object

MongoDB 查询筛选器。 findOne作返回集合中与此筛选器匹配的第一个文档。

投影
projection object

MongoDB 查询投影。 根据投影,返回的文档将省略特定字段或仅包含指定的字段或值

返回

名称 路径 类型 说明
文档
document object

文档

运行聚合管道

甚至可以使用数据 API 运行聚合管道。 为此,请使用聚合终结点,并在请求正文的管道字段中指定管道。

参数

名称 密钥 必需 类型 说明
MongoDB 群集名称
dataSource True string

群集的名称。

MongoDB 数据库名称
database True string

数据库的名称。

MongoDB 集合名称
collection True string

集合的名称。

管道
pipeline object

items

返回

名称 路径 类型 说明
文件
documents array of object

文件

items
documents object