共用方式為


MongoDB (預覽版)

MongoDB 是一個通用的分佈式文檔數據平台,深受開發人員的喜愛,並在企業中用於運行各種工作負載。您現在可以使用 MongoDB 連接器探索各種端點,並在集合上執行 CRUD 操作和彙總。

此連接器適用於以下產品和區域:

服務 Class Regions
副駕駛工作室 進階 除下列區域外的所有 Power Automate 區域
     - 美國政府 (GCC)
     - 美國政府(海灣合作委員會高中)
     - 由 21Vianet 營運的中國雲
     - 美國國防部 (DoD)
邏輯應用程式 標準 所有 Logic Apps 區域, 但下列區域除外:
     - Azure Government 區域
     - Azure 中國區域
     - 美國國防部 (DoD)
Power Apps - 無法提供
Power Automate(自動化服務) 進階 除下列區域外的所有 Power Automate 區域
     - 美國政府 (GCC)
     - 美國政府(海灣合作委員會高中)
     - 由 21Vianet 營運的中國雲
     - 美國國防部 (DoD)
連絡人​​
名稱 MongoDB 支援
URL https://www.mongodb.com/community/forums/
Email support-operations@mongodb.com
連接器中繼資料
Publisher MongoDB公司
網站 https://www.mongodb.com
隱私策略 https://www.mongodb.com/legal/privacy-policy
類別 資料

MongoDB 連接器提供一種簡單的方法,透過租用戶中使用 Azure 函式裝載的資料 API 連線到 MongoDB Atlas,以讀取和寫入 MongoDB Atlas 集合的資料。 MongoDB 連接器可讓您在幾分鐘內輕鬆地對資料執行 CRUD 作業和彙總,並可讓您查詢 MongoDB 以在 Power Apps、Power Automate 和 Logic Apps 中建置豐富的應用程式和工作流程。

*** 請注意,MongoDB 從 2025 年 9 月起淘汰了 Atlas 資料 API ,因此使用此連接器方法來設定 Azure 函式,並在應用程式和流程中使用其 URL 和 API 金鑰,而不是 Atlas 的金鑰。 ***

先決條件

  1. 設定 Atlas 環境

此處註冊新的 Atlas 帳戶。 請遵循 1 到 4 的步驟 (建立 Atlas 帳戶、部署免費叢集、將您的 IP 新增至 IP 存取清單和建立資料庫使用者) 來設定 Atlas 環境。

  1. 將 Azure 函式設定為 Atlas 資料 API 若要設定 Azure 函式,以裝載程式碼以作為 Atlas 資料 API,我們有 兩個 選項 - 1。使用 GitHub Actions 或 2.使用 Zip Deploy

    選擇 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 Service 方案、儲存體帳戶和 App Insights)。 您可以將函式名稱和 SKU 保留為預設值,或者如果您想遵循某些特定標準,也可以進行變更。 建議您將叢集名稱新增至函式應用程式名稱,使其唯一且易於識別。

    提供此 Azure 函式將執行之叢集的 MongoDB 連線 URL。 此連接字串將儲存為 Environmnet 變數。 將分支存放庫 URL 提供為 GitHub 存放庫。 選取 [ 建立 ],它會使用相關聯的資源建立 Azure 函式。 請注意,在此階段會建立函式應用程式,填入 env 變數,但實際函式尚未部署至函式應用程式。

    d. 若要讓 GitHub 動作從存放庫執行並部署函式,請從您建立的 Azure 函式取得發佈配置檔。

    它被下載,在文本編輯器中打開它並複製其所有內容。

    GetPublishProfile.png

    e. 移至 GitHub 存放庫 -> 設定 -> 密碼和變數 -> 動作按一下 [新增存放庫密碼],並將發佈設定檔中的整個值複製到名為「AZUREAPPSERVICE_PUBLISHPROFILE」的新密碼

    f. 在 [README] 和 [認可變更] 中進行次要變更,以叫用 GitHub 動作,以將 Python 程式碼部署至 Azure 函式,並部署至函式應用程式。 現在您應該會看到 Functon 應用程式中可用的函數,以及已部署function_app.py中的程式碼。

    g。 GitHub 存放庫中的 GitHub 動作索引標籤會顯示部署中的步驟 (包括相依性安裝) 和每個步驟的結果。

    選項 2:使用 ZipDeploy 設定 Azure 函式

    一。 按一下下方的 [部署至 Azure ] 按鈕,以在您的租用戶中建立 Azure 函式。

    部署至 Azure

    b。 選取或建立您的資源群組,其中包含 Azure 函式及其相關聯的元件 (App Service 方案、儲存體帳戶和 App Insights)。 您可以將函式名稱和 SKU 保留為預設值,或者如果您想遵循某些特定標準,也可以進行變更。 建議您將叢集名稱新增至函式應用程式名稱,使其唯一且易於識別。

    請 ** 請勿變更 ** packageUrl,因為它是儲存體帳戶的 SAS URL,具有需要部署的 zip。 選取 [ 建立 ],它會建立 Azure 函式應用程式,部署 Azure 函式以及相關聯的資源。

如何取得認證

取得 BaseUrl 和 API 金鑰

一。 從函式應用程式中,選取您的函式,然後按一下 [取得函式 URL ] 。 從開頭複製函數 url 到“/action”之前,如下面的屏幕截圖所示。 這是您將用來叫用任何 MongoDB CRUD/聚合 API 的基本 URL

GetFunctionUrl.png

b。 移至 [函式應用程式 -> 在 [函式 -> 應用程式金鑰] 底下,擷取 Azure 函式的 _master預設 API 金鑰這是您要與基底 URL 搭配使用的 API 金鑰,以建立 MongoDB 連線,以叫用任何 MongoDB CRUD/彙總 API。

開始使用連接器

  1. 完成必要條件之後,請移至 PowerAutomate -> 連線。 點擊“新建連接”,在右上角的搜尋欄中搜尋MongoDB,如下圖所示。

MongoDBPremiumConnector.png

  1. 單擊 MongoDB 連接,您會看到以下彈出窗口,要求輸入 API 密鑰和基 URL。

MongoDBConnection.png

  1. 針對「基本 URL」和「API 金鑰」欄位,輸入從上述 如何取得認證 一節擷取的值

使用 8 個資料 API 之一,針對 MongoDB Atlas 叢集進行任何 CRUD 作業。 對於複雜的查詢,請使用「執行彙總管線」API 來使用彙總階段將輸出從一個階段按摩到另一個階段。 MongoDB 的靈活性和活力使您能夠創建豐富的應用程式並自動化任何耗時的流程。 您可以通過將更多功能和字段添加到同一集合來不斷增強應用程序。

已知問題與限制

由於 MongoDB 不會強制執行結構描述,因此目前的連接器只能與 Power Automate 和 Logic Apps 搭配使用,這支援 API 回應的動態結構描述,然後可以使用「剖析 JSON」建構進行剖析。 它可以透過為每個 MongoDB 互動呼叫 Power Automate 流程來在 Power Apps 中使用。 您也可以繼續使用 Microsoft Github 存放庫 中經過認證的 MongoDB 連接器做為自訂連接器,以直接在 Power Apps 中使用它,以根據您的 MongoDB 集合結構描述自訂回應結構描述。

適用於 MongoDB 資料作業的限制也適用於 MongoDB 連接器。 請參閱此 連結 ,以進一步瞭解資料API的使用者內容下不支援的彙總階段。

請遵循此 連結 ,以取得 Azure 函式的已知限制,例如每個資源方案的逾時和其他服務限制。

常見錯誤和補救措施

典型的 API 回應代碼也適用於此。 任何 4XX 錯誤都表示用戶端的請求有問題。 請確定 dataSource、資料庫、集合以有效的 JSON 格式提供。 有關示例,請參閱此 郵差合集 。 針對 5XX 錯誤,請確定 Azure 函式已啟動並執行,並檢查其追蹤以進一步調查。

正在建立連線

連接器支援下列驗證類型:

預設值 建立連線的參數。 所有區域 不可共享

預設

適用:所有地區

建立連線的參數。

這不是可共用的連線。 如果 Power App 與其他使用者共用,系統會明確提示其他使用者建立新連線。

名稱 類型 Description 為必填項目
API 金鑰 securestring 此 API 的 API 金鑰
基底網址 字串 Azure 函式 URL (範例:https://mdb-dataapi-repl.azurewebsites.net/api/mdb_dataapi)

節流限制

名稱 呼叫 續約期間
每個連線的 API 呼叫 100 60 秒

動作

刪除文件

若要刪除單一文件,請使用 deleteOne 端點。 使用要求本文中的 filter 內容來指定搜尋準則。 如果多個文件符合條件,則只會刪除第一個相符項。

刪除許多文件

您可以使用 deleteMany 一次刪除多個文件。 使用 filter 內容來指定要刪除的文件。 請注意,在沒有任何過濾器的情況下使用此 API 將刪除集合中的所有文件。 請謹慎使用 deletemany。

執行彙總管線

您甚至可以使用資料 API 執行彙總管線。 若要這樣做,請使用彙總端點,並在請求內文的管線欄位中指定您的管線。

尋找多個文件

使用尋找端點,您可以一次擷取多個文件。 使用要求內文中的 filter 內容來指定要篩選的準則。 如果您傳遞空物件,則會傳回集合中的所有文件。

尋找文件

使用 findOne 端點可讓您從集合中擷取單一檔案。 使用要求本文中的 filter 內容來指定搜尋準則。 如果多個文件符合條件,則只會傳回第一個相符項。

插入多個文件

您可以使用 insertMany 端點一次新增多個文件。 在此情況下,您必須在要求內文中使用 documents 屬性來指定您要插入集合的文件陣列。

插入文件

使用 insertOne 端點,您可以將文件新增至集合。 使用要求內文中的 document 屬性來指定應該建立的文件。

更新多個文件

使用 updateMany,您可以更新符合要求內文中指定之特定過濾器的所有文件。 使用更新欄位中的其中一個更新運算子來更新您的文件。

更新文件

您可以使用 updateOne 端點來更新單一記錄。 使用要求本文中的 filter 內容來指定搜尋準則。 如果多個文件符合條件,則只會傳回第一個相符項。 然後使用更新欄位來指定應該更新的內容。 您應該使用其中一個更新運算子來更新文件。

刪除文件

若要刪除單一文件,請使用 deleteOne 端點。 使用要求本文中的 filter 內容來指定搜尋準則。 如果多個文件符合條件,則只會刪除第一個相符項。

參數

名稱 機碼 必要 類型 Description
MongoDB 叢集名稱
dataSource True string

叢集的名稱。

MongoDB 資料庫名稱
database True string

資料庫的名稱。

MongoDB 集合名稱
collection True string

集合的名稱。

篩選
filter True object

MongoDB 查詢篩選器。 deleteOne 動作會刪除集合中符合此篩選器的第一個文件。

傳回

名稱 路徑 類型 Description
已刪除計數
deletedCount integer

已刪除計數

刪除許多文件

您可以使用 deleteMany 一次刪除多個文件。 使用 filter 內容來指定要刪除的文件。 請注意,在沒有任何過濾器的情況下使用此 API 將刪除集合中的所有文件。 請謹慎使用 deletemany。

參數

名稱 機碼 必要 類型 Description
MongoDB 叢集名稱
dataSource True string

叢集的名稱。

MongoDB 資料庫名稱
database True string

資料庫的名稱。

MongoDB 集合名稱
collection True string

集合的名稱。

篩選
filter True object

MongoDB 查詢過濾器 . deleteMany 動作會刪除集合中符合此過濾器的所有文件。

傳回

名稱 路徑 類型 Description
已刪除計數
deletedCount integer

已刪除計數

執行彙總管線

您甚至可以使用資料 API 執行彙總管線。 若要這樣做,請使用彙總端點,並在請求內文的管線欄位中指定您的管線。

參數

名稱 機碼 必要 類型 Description
MongoDB 叢集名稱
dataSource True string

叢集的名稱。

MongoDB 資料庫名稱
database True string

資料庫的名稱。

MongoDB 集合名稱
collection True string

集合的名稱。

準銷售案源
pipeline object

items

傳回

名稱 路徑 類型 Description
documents array of object

items
documents object

尋找多個文件

使用尋找端點,您可以一次擷取多個文件。 使用要求內文中的 filter 內容來指定要篩選的準則。 如果您傳遞空物件,則會傳回集合中的所有文件。

參數

名稱 機碼 必要 類型 Description
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

在將相符的文件新增至結果集之前,要略過的相符文件數目。

傳回

名稱 路徑 類型 Description
documents array of object

items
documents object

尋找文件

使用 findOne 端點可讓您從集合中擷取單一檔案。 使用要求本文中的 filter 內容來指定搜尋準則。 如果多個文件符合條件,則只會傳回第一個相符項。

參數

名稱 機碼 必要 類型 Description
MongoDB 叢集名稱
dataSource True string

叢集的名稱。

MongoDB 資料庫名稱
database True string

資料庫的名稱。

MongoDB 集合名稱
collection True string

集合的名稱。

篩選
filter object

MongoDB 查詢篩選器。 findOne 動作會傳回集合中符合此篩選器的第一個文件。

投影
projection object

MongoDB 查詢投影。 根據投影,傳回的文件將省略特定欄位或僅包含指定的欄位或值

傳回

名稱 路徑 類型 Description
文件
document object

文件

插入多個文件

您可以使用 insertMany 端點一次新增多個文件。 在此情況下,您必須在要求內文中使用 documents 屬性來指定您要插入集合的文件陣列。

參數

名稱 機碼 必要 類型 Description
MongoDB 叢集名稱
dataSource True string

叢集的名稱。

MongoDB 資料庫名稱
database True string

資料庫的名稱。

MongoDB 集合名稱
collection True string

集合的名稱。

documents object

items

傳回

名稱 路徑 類型 Description
insertedIds
insertedIds array of string

insertedIds

插入文件

使用 insertOne 端點,您可以將文件新增至集合。 使用要求內文中的 document 屬性來指定應該建立的文件。

參數

名稱 機碼 必要 類型 Description
MongoDB 叢集名稱
dataSource True string

叢集的名稱。

MongoDB 資料庫名稱
database True string

資料庫的名稱。

MongoDB 集合名稱
collection True string

集合的名稱。

文件
document True object

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

傳回

名稱 路徑 類型 Description
插入標識符
insertedId string

插入標識符

更新多個文件

使用 updateMany,您可以更新符合要求內文中指定之特定過濾器的所有文件。 使用更新欄位中的其中一個更新運算子來更新您的文件。

參數

名稱 機碼 必要 類型 Description
MongoDB 叢集名稱
dataSource True string

叢集的名稱。

MongoDB 資料庫名稱
database True string

資料庫的名稱。

MongoDB 集合名稱
collection True string

集合的名稱。

篩選
filter True object

MongoDB 查詢過濾器 . updateMany 動作會修改集合中符合此篩選條件的所有文件。

更新
update True object

MongoDB 更新運算式,指定如何修改相符的文件。

upsert
upsert boolean

只有在沒有任何文件符合指定的過濾器時,才會套用更新插入旗標。 如果為true,則updateMany動作會插入符合篩選器的新文件,並套用了指定的更新。

傳回

名稱 路徑 類型 Description
matchedCount
matchedCount integer

matchedcount

修改計數
modifiedCount integer

修改計數

更新文件

您可以使用 updateOne 端點來更新單一記錄。 使用要求本文中的 filter 內容來指定搜尋準則。 如果多個文件符合條件,則只會傳回第一個相符項。 然後使用更新欄位來指定應該更新的內容。 您應該使用其中一個更新運算子來更新文件。

參數

名稱 機碼 必要 類型 Description
MongoDB 叢集名稱
dataSource True string

叢集的名稱。

MongoDB 資料庫名稱
database True string

資料庫的名稱。

MongoDB 集合名稱
collection True string

集合的名稱。

篩選
filter True object

MongoDB 查詢篩選器。UpdateOne 動作會修改集合中符合此篩選器的第一個文件。

更新
update True object

MongoDB 更新運算式,指定如何修改相符的文件。

upsert
upsert boolean

只有在沒有文件符合指定的過濾器時,才會套用更新插入旗標。 如果為true,則updateOne動作會插入符合篩選器的新文件,並套用了指定的更新。

傳回

名稱 路徑 類型 Description
matchedCount
matchedCount integer

matchedcount

修改計數
modifiedCount integer

修改計數