MongoDB (Preview)
MongoDB je univerzální distribuovaná datová platforma, která je oblíbená vývojáři a používají se v různých podnicích ke spouštění různých úloh. Teď můžete prozkoumat různé koncové body a provádět operace CRUD a agregace v kolekci pomocí konektoru MongoDB.
Tento konektor je dostupný v následujících produktech a oblastech:
| Service | Class | Regions |
|---|---|---|
| Copilot Studio | Premium | Všechny oblasti Power Automate s výjimkou následujících: – státní správa USA (GCC) – státní správa USA (GCC High) - China Cloud provozovaný společností 21Vianet - Ministerstvo obrany USA (DoD) |
| Logic Apps | Standard | Všechny oblasti Logic Apps s výjimkou následujících: – Oblasti Azure Government – Oblasti Azure China - Ministerstvo obrany USA (DoD) |
| Power Apps | - | Není k dispozici |
| Power Automate | Premium | Všechny oblasti Power Automate s výjimkou následujících: – státní správa USA (GCC) – státní správa USA (GCC High) - China Cloud provozovaný společností 21Vianet - Ministerstvo obrany USA (DoD) |
| Kontakt | |
|---|---|
| Název | Podpora MongoDB |
| URL | https://www.mongodb.com/community/forums/ |
| support-operations@mongodb.com |
| Metadata konektoru | |
|---|---|
| Vydavatel | MongoDB Corp |
| Internetová stránka | https://www.mongodb.com |
| Zásady ochrany osobních údajů | https://www.mongodb.com/legal/privacy-policy |
| Kategorie | Data |
Konektor MongoDB poskytuje jednoduchý způsob, jak se připojit k MongoDB Atlas prostřednictvím rozhraní API dat hostovaných pomocí funkce Azure ve vašem tenantovi ke čtení a zápisu dat do kolekcí MongoDB Atlas. Konektor MongoDB usnadňuje provádění operací CRUD a agregací dat v řádu minut a umožňuje dotazovat MongoDB na vytváření bohatých aplikací a pracovních postupů v Power Apps, Power Automate a Logic Apps.
*** Upozorňujeme, že MongoDB od září 2025 zastaralá rozhraní API pro data Atlas, a proto tento přístup konektoru používá k nastavení funkce Azure a použití jeho adres URL a klíčů rozhraní API místo těch, které používáte v aplikacích a tocích. ***
Požadavky
- Konfigurace prostředí Atlas
Tady si zaregistrujte nový účet Atlas. Postupujte podle kroků od 1 do 4 (vytvoření účtu Atlas, nasazení bezplatného clusteru, přidání IP adresy do přístupového seznamu IP a vytvoření uživatele databáze) a nastavte prostředí Atlas.
Nastavení funkce Azure Functions jako rozhraní Atlas Data API Pokud chcete nastavit funkci Azure, která bude hostovat kód tak, aby fungoval jako rozhraní API pro data Atlas, máme dvě možnosti – 1. Použití GitHub Actions NEBO 2 Použití nasazení zip
Zvolte metodu GitHub Actions, pokud máte možnost vytvořit fork aktuálního úložiště, můžou mít v daném úložišti povolené akce GitHubu a chcete přidat další rozhraní API a preferovat nastavení CI/CD nebo DevOps. Pokud ale hledáte rychlý a snadný způsob nasazení a potřebujete nastavit funkci Azure, která nahradí rozhraní API pro data Atlas, použijte možnost nasazení zip.
Možnost 1: Nastavení funkce Azure Functions pomocí GitHub Actions
a.Fork úložiště MongoDB. Poznamenejte si novou adresu URL rozvětvovaného úložiště. Pokud akce GitHubu nejsou ve výchozím nastavení povolené, povolte je tak, že přejdete na Nastavení –> Akce –> Obecné ve forku úložiště a vyberete jednu z možností Povolit akce nebo opakovaně použitelné pracovní postupy.
b.Kliknutím na tlačítko Nasadit do Azure získáte funkci Azure vytvořenou ve vašem tenantovi.
c. Vyberte nebo vytvořte skupinu prostředků, která bude obsahovat funkci Azure a její přidružené komponenty (plán služby App Service, účet úložiště a App Insights). Název funkce a skladovou položku můžete ponechat jako výchozí nebo můžete změnit, pokud chcete postupovat podle určitých standardů. Doporučujeme přidat název clusteru do názvu aplikace funkcí, aby byl jedinečný a snadno identifikovatelný.
Zadejte adresu URL připojení MongoDB pro cluster, pro který bude tato funkce Azure běžet. Tento připojovací řetězec se uloží jako proměnná Environmnet. Zadejte adresu URL rozvětvovaného úložiště jako úložiště GitHub. Vyberte Vytvořit a vytvoří se funkce Azure s přidruženými prostředky. Všimněte si, že v této fázi se vytvoří aplikace funkcí, proměnné env se naplní, ale skutečná funkce ještě není nasazená do aplikace funkcí.
d. Pokud chcete, aby se akce GitHubu spouštěly z úložiště a nasadily funkci, získejte profil publikování z vytvořené funkce Azure.
Stáhnou se, otevřou ho v textovém editoru a zkopírují veškerý jeho obsah.
e. Přejděte do úložiště GitHubu –> Nastavení –> Tajné kódy a proměnné –> Akce klikněte na nový tajný kód Respository a zkopírujte celou hodnotu v profilu publikování do nového tajného kódu s názvem "AZUREAPPSERVICE_PUBLISHPROFILE".
f. Provedení menší změny v souboru README a potvrzení změn pro vyvolání akcí GitHubu, které by nasadily kód Pythonu do funkce Azure do vaší aplikace funkcí. Teď byste měli vidět funkci dostupnou v aplikaci Functon a kód v function_app.py nasazené.
gram Karta GitHub Actions v úložišti GitHubu zobrazí kroky v nasazení (včetně instalace závislostí) a výsledek každého kroku.
Možnost 2: Nastavení funkce Azure pomocí ZipDeploy
a. Klikněte na tlačítko Nasadit do Azure , aby se ve vašem tenantovi vytvořila funkce Azure.
b) Vyberte nebo vytvořte skupinu prostředků, která bude obsahovat funkci Azure a její přidružené komponenty (plán služby App Service, účet úložiště a App Insights). Název funkce a skladovou položku můžete ponechat jako výchozí nebo můžete změnit, pokud chcete postupovat podle určitých standardů. Doporučujeme, abyste do názvu aplikace funkcí přidali název clusteru, aby byl jedinečný a snadno identifikovatelný.
** DONOT změňte ** adresu packageUrl, protože se jedná o adresu URL SAS účtu úložiště, který obsahuje soubor ZIP, který je potřeba nasadit. Vyberte Vytvořit a vytvoří aplikaci funkcí Azure, nasadíte funkci Azure společně s přidruženými prostředky.
Jak získat přihlašovací údaje
Získání klíče BaseUrl a rozhraní API
a. V aplikaci funkcí vyberte svou funkci a klikněte na Získat adresu URL funkce . Zkopírujte adresu URL funkce od začátku do před "/action", jak je znázorněno na snímku obrazovky níže. Toto je základní adresa URL , kterou použijete k vyvolání některého z rozhraní MONGODB CRUD/ Aggregate API.
b) Přejděte do své aplikace Funkcí –> V části Funkce –> Klíče aplikace , uchopte _master nebo výchozí klíč rozhraní API pro vaši funkci Azure. Toto je klíč rozhraní API , který použijete společně se základní adresou URL k vytvoření připojení MongoDB k vyvolání některého z rozhraní CRUD/Aggregate API MongoDB.
Začínáme s konektorem
- Po dokončení požadavků přejděte do PowerAutomate –> Připojení. Klikněte na Nové připojení a na panelu hledání v pravém horním rohu vyhledejte MongoDB, jak je znázorněno níže na snímku obrazovky.
- Klikněte na připojení MongoDB a zobrazí se následující automaticky otevírané okno s dotazem na zadání klíče rozhraní API a základní adresy URL.
- Do polí Základní adresa URL a Klíč rozhraní API zadejte hodnoty načtené z části Získání přihlašovacích údajů výše.
Pro všechny operace CRUD v clusteru MongoDB Atlas použijte jedno z 8 datových rozhraní API. U složitých dotazů použijte rozhraní API Spustit kanál agregace k masáži výstupu z jedné fáze do druhé pomocí fází agregace. Flexibilita a dynamismus MongoDB umožňuje vytvářet bohaté aplikace a automatizovat všechny časově náročné procesy. Aplikace neustále vylepšujete přidáním dalších funkcí a polí do stejné kolekce.
Známé problémy a omezení
Vzhledem k tomu, že MongoDB nevynucuje schéma, můžete aktuální konektor použít pouze s Power Automate a Logic Apps, který podporuje dynamické schéma pro odpověď rozhraní API, které je pak možné analyzovat pomocí konstruktorů Parsovat JSON. Dá se použít v Power Apps vyvoláním toku Power Automate pro každou interakci s MongoDB. Můžete také dál používat certifikovaný konektor MongoDB z úložiště Microsoft GitHub jako vlastní konektor, abyste ho mohli použít přímo v Power Apps a přizpůsobit schéma odpovědi podle schématu kolekce MongoDB.
Omezení vztahující se na datové operace MongoDB platí také pro konektor MongoDB. Další informace ofázích
Pokud chcete zjistit známá omezení funkcí Azure, jako jsou vypršení časového limitu a další limity služeb pro jednotlivé plány prostředků, postupujte podle tohoto odkazu .
Běžné chyby a nápravné prostředky
Tady platí také typické kódy odpovědí rozhraní API. Všechny chyby 4XX značí problém s požadavkem od klienta. Ujistěte se, že dataSource, databáze a kolekce jsou k dispozici v platném formátu JSON. Příklady najdete v této kolekci Postman . V případě chyb 5XX se ujistěte, že je funkce Azure spuštěná, a zkontrolujte její trasování a proveďte další šetření.
Vytvoření připojení
Konektor podporuje následující typy ověřování:
| výchozí | Parametry pro vytvoření připojení | Všechny oblasti | Nesdílitelné |
Výchozí
Použitelné: Všechny oblasti
Parametry pro vytvoření připojení
Toto připojení není možné sdílet. Pokud se power app sdílí s jiným uživatelem, zobrazí se výzva k explicitní vytvoření nového připojení.
| Název | Typ | Description | Povinné |
|---|---|---|---|
| Klíč rozhraní API | securestring | Klíč rozhraní API pro toto rozhraní API | Pravdivé |
| BaseUrl | řetězec | Adresa URL funkce Azure (příklad:https://mdb-dataapi-repl.azurewebsites.net/api/mdb_dataapi) | Pravdivé |
Limity omezování
| Name | Volání | Období obnovení |
|---|---|---|
| Volání rozhraní API na připojení | 100 | 60 sekund |
Akce
| Aktualizace více dokumentů |
Pomocí updateMany můžete aktualizovat všechny dokumenty odpovídající určitému filtru zadanému v textu požadavku. K aktualizaci dokumentů použijte jeden z operátorů aktualizace v poli aktualizace. |
| Aktualizovat dokument |
Koncový bod updateOne můžete použít k aktualizaci jednoho záznamu. Pomocí vlastnosti filtru v textu požadavku zadejte kritéria hledání. Pokud kritéria splňuje více než jeden dokument, vrátí se pouze první shoda. Potom pomocí pole aktualizace určete, co se má aktualizovat. K aktualizaci dokumentů byste měli použít některý z operátorů aktualizace. |
| Najít dokument |
Pomocí koncového bodu findOne můžete načíst jeden dokument z kolekce. Pomocí vlastnosti filtru v textu požadavku zadejte kritéria hledání. Pokud kritéria splňuje více než jeden dokument, vrátí se pouze první shoda. |
| Odstranit dokument |
Pokud chcete odstranit jeden dokument, použijte koncový bod deleteOne. Pomocí vlastnosti filtru v textu požadavku zadejte kritéria hledání. Pokud kritéria splňuje více než jeden dokument, odstraní se pouze první shoda. |
| Odstranit mnoho dokumentů |
DeleteMany můžete použít k odstranění více dokumentů najednou. Pomocí vlastnosti filtru určete, které dokumenty chcete odstranit. Mějte na paměti, že použití tohoto rozhraní API bez jakýchkoli filtrů odstraní všechny dokumenty v kolekci. Používejte deletemany s opatrností. |
| Spuštění kanálu agregace |
Pomocí rozhraní Data API můžete dokonce spouštět agregační kanály. Uděláte to tak, že použijete agregovaný koncový bod a v poli kanálu textu požadavku zadáte svůj kanál. |
| Vložení více dokumentů |
Pomocí koncového bodu insertMany můžete přidat více dokumentů najednou. V takovém případě je nutné použít vlastnost dokumenty v textu požadavku k určení pole dokumentů, které chcete vložit do kolekce. |
| Vložit dokument |
Pomocí koncového bodu insertOne můžete do kolekce přidat dokument. Vlastnost dokumentu v textu požadavku použijte k určení dokumentu, který se má vytvořit. |
| Vyhledání více dokumentů |
Pomocí koncového bodu najít můžete načíst více dokumentů najednou. Pomocí vlastnosti filtru v textu požadavku určete kritéria, pro která se mají filtrovat. Pokud předáte prázdný objekt, vrátí se všechny dokumenty v kolekci. |
Aktualizace více dokumentů
Pomocí updateMany můžete aktualizovat všechny dokumenty odpovídající určitému filtru zadanému v textu požadavku. K aktualizaci dokumentů použijte jeden z operátorů aktualizace v poli aktualizace.
Parametry
| Name | Klíč | Vyžadováno | Typ | Description |
|---|---|---|---|---|
|
Název clusteru MongoDB
|
dataSource | True | string |
Název clusteru. |
|
Název databáze MongoDB
|
database | True | string |
Název databáze. |
|
Název kolekce MongoDB
|
collection | True | string |
Název kolekce. |
|
filtr
|
filter | True | object |
Filtr dotazu MongoDB . Akce updateMany upraví všechny dokumenty v kolekci, které odpovídají tomuto filtru. |
|
aktualizace
|
update | True | object |
Výraz aktualizace MongoDB, který určuje, jak upravit odpovídající dokumenty. |
|
upsert
|
upsert | boolean |
Příznak upsert platí pouze v případě, že se zadaný filtr neshoduje s žádnými dokumenty. Pokud je pravda, akce updateMany vloží nový dokument, který odpovídá filtru se zadanou aktualizací použitou na něj. |
Návraty
| Name | Cesta | Typ | Description |
|---|---|---|---|
|
matchedCount
|
matchedCount | integer |
matchedcount |
|
modifiedCount
|
modifiedCount | integer |
modifiedcount |
Aktualizovat dokument
Koncový bod updateOne můžete použít k aktualizaci jednoho záznamu. Pomocí vlastnosti filtru v textu požadavku zadejte kritéria hledání. Pokud kritéria splňuje více než jeden dokument, vrátí se pouze první shoda. Potom pomocí pole aktualizace určete, co se má aktualizovat. K aktualizaci dokumentů byste měli použít některý z operátorů aktualizace.
Parametry
| Name | Klíč | Vyžadováno | Typ | Description |
|---|---|---|---|---|
|
Název clusteru MongoDB
|
dataSource | True | string |
Název clusteru. |
|
Název databáze MongoDB
|
database | True | string |
Název databáze. |
|
Název kolekce MongoDB
|
collection | True | string |
Název kolekce. |
|
filtr
|
filter | True | object |
Filtr dotazu MongoDB.Akce UpdateOne upraví první dokument v kolekci, která odpovídá tomuto filtru. |
|
aktualizace
|
update | True | object |
Výraz aktualizace MongoDB, který určuje, jak upravit odpovídající dokument. |
|
upsert
|
upsert | boolean |
Příznak Upsert platí pouze v případě, že se zadaný filtr neshoduje s žádnými dokumenty. Pokud je hodnota true, akce updateOne vloží nový dokument, který odpovídá filtru se zadanou aktualizací použitou na něj. |
Návraty
| Name | Cesta | Typ | Description |
|---|---|---|---|
|
matchedCount
|
matchedCount | integer |
matchedcount |
|
modifiedCount
|
modifiedCount | integer |
modifiedcount |
Najít dokument
Pomocí koncového bodu findOne můžete načíst jeden dokument z kolekce. Pomocí vlastnosti filtru v textu požadavku zadejte kritéria hledání. Pokud kritéria splňuje více než jeden dokument, vrátí se pouze první shoda.
Parametry
| Name | Klíč | Vyžadováno | Typ | Description |
|---|---|---|---|---|
|
Název clusteru MongoDB
|
dataSource | True | string |
Název clusteru. |
|
Název databáze MongoDB
|
database | True | string |
Název databáze. |
|
Název kolekce MongoDB
|
collection | True | string |
Název kolekce. |
|
filtr
|
filter | object |
Filtr dotazů MongoDB. Akce findOne vrátí první dokument v kolekci, který odpovídá tomuto filtru. |
|
|
projekce
|
projection | object |
Projekce dotazu MongoDB. V závislosti na projekci vrácený dokument buď vynechá konkrétní pole, nebo bude obsahovat pouze zadaná pole nebo hodnoty. |
Návraty
| Name | Cesta | Typ | Description |
|---|---|---|---|
|
dokument
|
document | object |
dokument |
Odstranit dokument
Pokud chcete odstranit jeden dokument, použijte koncový bod deleteOne. Pomocí vlastnosti filtru v textu požadavku zadejte kritéria hledání. Pokud kritéria splňuje více než jeden dokument, odstraní se pouze první shoda.
Parametry
| Name | Klíč | Vyžadováno | Typ | Description |
|---|---|---|---|---|
|
Název clusteru MongoDB
|
dataSource | True | string |
Název clusteru. |
|
Název databáze MongoDB
|
database | True | string |
Název databáze. |
|
Název kolekce MongoDB
|
collection | True | string |
Název kolekce. |
|
filtr
|
filter | True | object |
Filtr dotazů MongoDB. Akce deleteOne odstraní první dokument v kolekci, který odpovídá tomuto filtru. |
Návraty
| Name | Cesta | Typ | Description |
|---|---|---|---|
|
deletedCount
|
deletedCount | integer |
odstraněný počet |
Odstranit mnoho dokumentů
DeleteMany můžete použít k odstranění více dokumentů najednou. Pomocí vlastnosti filtru určete, které dokumenty chcete odstranit. Mějte na paměti, že použití tohoto rozhraní API bez jakýchkoli filtrů odstraní všechny dokumenty v kolekci. Používejte deletemany s opatrností.
Parametry
| Name | Klíč | Vyžadováno | Typ | Description |
|---|---|---|---|---|
|
Název clusteru MongoDB
|
dataSource | True | string |
Název clusteru. |
|
Název databáze MongoDB
|
database | True | string |
Název databáze. |
|
Název kolekce MongoDB
|
collection | True | string |
Název kolekce. |
|
filtr
|
filter | True | object |
Filtr dotazu MongoDB . Akce deleteMany odstraní všechny dokumenty v kolekci, které odpovídají tomuto filtru. |
Návraty
| Name | Cesta | Typ | Description |
|---|---|---|---|
|
deletedCount
|
deletedCount | integer |
deletedCount |
Spuštění kanálu agregace
Pomocí rozhraní Data API můžete dokonce spouštět agregační kanály. Uděláte to tak, že použijete agregovaný koncový bod a v poli kanálu textu požadavku zadáte svůj kanál.
Parametry
| Name | Klíč | Vyžadováno | Typ | Description |
|---|---|---|---|---|
|
Název clusteru MongoDB
|
dataSource | True | string |
Název clusteru. |
|
Název databáze MongoDB
|
database | True | string |
Název databáze. |
|
Název kolekce MongoDB
|
collection | True | string |
Název kolekce. |
|
kanál
|
pipeline | object |
items |
Návraty
| Name | Cesta | Typ | Description |
|---|---|---|---|
|
dokumenty
|
documents | array of object |
dokumenty |
|
items
|
documents | object |
Vložení více dokumentů
Pomocí koncového bodu insertMany můžete přidat více dokumentů najednou. V takovém případě je nutné použít vlastnost dokumenty v textu požadavku k určení pole dokumentů, které chcete vložit do kolekce.
Parametry
| Name | Klíč | Vyžadováno | Typ | Description |
|---|---|---|---|---|
|
Název clusteru MongoDB
|
dataSource | True | string |
Název clusteru. |
|
Název databáze MongoDB
|
database | True | string |
Název databáze. |
|
Název kolekce MongoDB
|
collection | True | string |
Název kolekce. |
|
dokumenty
|
documents | object |
items |
Návraty
| Name | Cesta | Typ | Description |
|---|---|---|---|
|
insertedIds
|
insertedIds | array of string |
insertedIds |
Vložit dokument
Pomocí koncového bodu insertOne můžete do kolekce přidat dokument. Vlastnost dokumentu v textu požadavku použijte k určení dokumentu, který se má vytvořit.
Parametry
| Name | Klíč | Vyžadováno | Typ | Description |
|---|---|---|---|---|
|
Název clusteru MongoDB
|
dataSource | True | string |
Název clusteru. |
|
Název databáze MongoDB
|
database | True | string |
Název databáze. |
|
Název kolekce MongoDB
|
collection | True | string |
Název kolekce. |
|
dokument
|
document | True | object |
Dokument EJSON, který se má vložit do kolekce. |
Návraty
| Name | Cesta | Typ | Description |
|---|---|---|---|
|
insertedId
|
insertedId | string |
insertedId |
Vyhledání více dokumentů
Pomocí koncového bodu najít můžete načíst více dokumentů najednou. Pomocí vlastnosti filtru v textu požadavku určete kritéria, pro která se mají filtrovat. Pokud předáte prázdný objekt, vrátí se všechny dokumenty v kolekci.
Parametry
| Name | Klíč | Vyžadováno | Typ | Description |
|---|---|---|---|---|
|
Název clusteru MongoDB
|
dataSource | True | string |
Název clusteru. |
|
Název databáze MongoDB
|
database | True | string |
Název databáze. |
|
Název kolekce MongoDB
|
collection | True | string |
Název kolekce. |
|
filtr
|
filter | object |
Filtr dotazu MongoDB.Akce najít vrátí dokumenty v kolekci, která odpovídá tomuto filtru. Pokud nezadáte filtr, akce odpovídá všem dokumentům kolekce. |
|
|
projekce
|
projection | object |
Projekce dotazu MongoDB V závislosti na projekci vrácené dokumenty buď vynechá konkrétní pole, nebo obsahují pouze zadaná pole a hodnoty. |
|
|
řadit
|
sort | object |
Výraz řazení MongoDB. Odpovídající dokumenty se vrátí ve vzestupném nebo sestupném pořadí polí zadaných ve výrazu. |
|
|
limit
|
limit | integer |
Maximální počet odpovídajících dokumentů, které se mají zahrnout do vrácené sady výsledků. Každý požadavek může vrátit až 50 000 dokumentů. |
|
|
přeskočit
|
skip | integer |
Počet odpovídajících dokumentů, které se mají přeskočit před přidáním odpovídajících dokumentů do sady výsledků |
Návraty
| Name | Cesta | Typ | Description |
|---|---|---|---|
|
dokumenty
|
documents | array of object |
dokumenty |
|
items
|
documents | object |