Začínáme se službou Azure Cosmos DB pro MongoDB pomocí JavaScriptu

PLATÍ PRO: MongoDB

V tomto článku se dozvíte, jak se připojit ke službě Azure Cosmos DB pro MongoDB pomocí nativního balíčku npm MongoDB. Po připojení můžete provádět operace s databázemi, kolekcemi a dokumenty.

Poznámka:

Ukázkové fragmenty kódu jsou k dispozici na GitHubu jako projekt JavaScriptu.

Referenční dokumentace | k rozhraní API pro MongoDB (npm)

Požadavky

Vytvoření nové javascriptové aplikace

  1. Pomocí upřednostňovaného terminálu vytvořte novou javascriptovou aplikaci v prázdné složce. npm init Pomocí příkazu spusťte výzvy k vytvoření package.json souboru. Přijměte výchozí hodnoty pro výzvy.

    npm init
    
  2. Přidejte balíček npm MongoDB do projektu JavaScriptu. npm install package Použijte příkaz určující název balíčku npm. Balíček dotenv se používá ke čtení proměnných prostředí ze .env souboru během místního vývoje.

    npm install mongodb dotenv
    
  3. Pokud chcete aplikaci spustit, přejděte pomocí terminálu do adresáře aplikace a spusťte aplikaci.

    node index.js
    

Připojení s nativním ovladačem MongoDB do služby Azure Cosmos DB pro MongoDB

Pokud se chcete připojit pomocí nativního ovladače MongoDB ke službě Azure Cosmos DB, vytvořte instanci MongoClient třídy. Tato třída je výchozím bodem pro provádění všech operací s databázemi.

Nejběžnější konstruktor pro MongoClient má dva parametry:

Parametr Příklad hodnoty Popis
url COSMOS_CONNECTION_STRING proměnná prostředí Rozhraní API pro MongoDB připojovací řetězec použít pro všechny požadavky
options {ssl: true, tls: true, } Možnosti MongoDB pro připojení.

Informace o problémech s připojením najdete v průvodci odstraňováním potíží.

Získání názvu prostředku

  1. Vytvořte proměnnou prostředí pro resourceGroupName.

    # Variable for resource group name
    resourceGroupName="msdocs-cosmos"
    
  2. az cosmosdb list Pomocí příkazu načtěte název prvního účtu služby Azure Cosmos DB ve vaší skupině prostředků a uložte ho do proměnné prostředí accountName.

    # Retrieve most recently created account name
    accountName=$(
        az cosmosdb list \
            --resource-group $resourceGroupName \
            --query "[0].name" \
            --output tsv
    )
    

Načtení připojovacího řetězce

  1. V seznamu připojovací řetězec pro účet pomocí az cosmosdb keys list příkazu vyhledejte rozhraní API pro MongoDB připojovací řetězec.

    az cosmosdb keys list --type connection-strings \
        --resource-group $resourceGroupName \
        --name $accountName 
    
  2. Poznamenejte si hodnoty PRIMÁRNÍHO KLÍČE . Tyto přihlašovací údaje použijete později.

Konfigurace proměnných prostředí

Pokud chcete použít hodnoty CONNECTION STRING v kódu, nastavte tuto hodnotu v místním prostředí, ve kterém je aplikace spuštěná. Pokud chcete nastavit proměnnou prostředí, použijte upřednostňovaný terminál a spusťte následující příkazy:

$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"

Vytvoření MongoClient pomocí připojovací řetězec

  1. Přidejte závislosti pro odkazy na balíčky MongoDB a DotEnv npm.

    // Read .env file and set environment variables
    require('dotenv').config();
    
    // Use official mongodb driver to connect to the server
    const { MongoClient } = require('mongodb');
    
  2. Definujte novou instanci MongoClient třídy pomocí konstruktoru a process.env. použijte připojovací řetězec.

    // New instance of MongoClient with connection string
    // for Cosmos DB
    const url = process.env.COSMOS_CONNECTION_STRING;
    const client = new MongoClient(url);
    
    // connect to the server
    await client.connect();
    
    // client options
    const options = client.options
    console.log(`Options:\n${Object.keys(options).map(key => `\t${key}: ${options[key]}\n`)}`);
    

Další informace o různých způsobech vytvoření MongoClient instance naleznete v tématu Rychlý start ovladače MongoDB NodeJS.

Zavřete připojení MongoClient.

Po dokončení připojení nezapomeňte aplikaci zavřít. Volání .close() by mělo být po provedení všech volání databáze.

client.close()

Použití klientských tříd MongoDB se službou Azure Cosmos DB pro rozhraní API pro MongoDB

Než začnete vytvářet aplikaci, podívejme se na hierarchii prostředků ve službě Azure Cosmos DB. Azure Cosmos DB má konkrétní objektový model, který se používá k vytváření a přístupu k prostředkům. Azure Cosmos DB vytváří prostředky v hierarchii, které se skládají z účtů, databází, kolekcí a dokumentů.

Diagram of the Azure Cosmos DB DB hierarchy including accounts, databases, collections, and docs.

Hierarchický diagram znázorňující účet služby Azure Cosmos DB v horní části Účet má dva podřízené databázové uzly. Jeden z databázových uzlů zahrnuje dva podřízené uzly kolekce. Druhý databázový uzel obsahuje jeden podřízený uzel kolekce. Tento uzel jedné kolekce má tři podřízené uzly dokumentace.

Každý typ prostředku je reprezentován jednou nebo více přidruženými javascriptovými třídami. Tady je seznam nejběžnějších tříd:

Třída Popis
MongoClient Tato třída poskytuje logickou reprezentaci na straně klienta pro vrstvu ROZHRANÍ API pro MongoDB ve službě Azure Cosmos DB. Objekt klienta slouží ke konfiguraci a spouštění požadavků na službu.
Db Tato třída je odkazem na databázi, která může nebo nemusí existovat ve službě ještě. Databáze je ověřena na straně serveru, když se pokusíte o přístup k databázi nebo provedete operaci s ní.
Collection Tato třída je odkazem na kolekci, která ještě nemusí ve službě existovat. Kolekce se ověří na straně serveru, když se s ní pokusíte pracovat.

Následující příručky vám ukážou, jak pomocí každé z těchto tříd sestavit aplikaci.

Průvodce:

Viz také

Další kroky

Teď, když jste se připojili k účtu ROZHRANÍ API pro MongoDB, použijte další příručku k vytváření a správě databází.