Kom igång med Azure Cosmos DB för MongoDB med JavaScript

GÄLLER FÖR: Mongodb

Den här artikeln visar hur du ansluter till Azure Cosmos DB för MongoDB med det interna MongoDB npm-paketet. När du är ansluten kan du utföra åtgärder på databaser, samlingar och dokument.

Kommentar

Exempelkodfragmenten är tillgängliga på GitHub som ett JavaScript-projekt.

API för MongoDB-referensdokumentation | MongoDB-paket (npm)

Förutsättningar

Skapa en ny JavaScript-app

  1. Skapa ett nytt JavaScript-program i en tom mapp med hjälp av önskad terminal. npm init Använd kommandot för att starta anvisningarna för att skapa package.json filen. Acceptera standardinställningarna för prompterna.

    npm init
    
  2. Lägg till MongoDB npm-paketet i JavaScript-projektet. npm install package Använd kommandot som anger namnet på npm-paketet. Paketet dotenv används för att läsa miljövariablerna från en .env fil under den lokala utvecklingen.

    npm install mongodb dotenv
    
  3. Om du vill köra appen använder du en terminal för att navigera till programkatalogen och köra programmet.

    node index.js
    

Anslut med ursprunglig MongoDB-drivrutin till Azure Cosmos DB för MongoDB

Skapa en instans av MongoClient klassen för att ansluta med den inbyggda MongoDB-drivrutinen till Azure Cosmos DB. Den här klassen är utgångspunkten för att utföra alla åtgärder mot databaser.

Den vanligaste konstruktorn för MongoClient har två parametrar:

Parameter Exempelvärde beskrivning
url COSMOS_CONNECTION_STRING miljövariabel API för MongoDB-anslutningssträng som ska användas för alla begäranden
options {ssl: true, tls: true, } MongoDB-alternativ för anslutningen.

Se felsökningsguiden för anslutningsproblem.

Hämta resursnamn

  1. Skapa en gränssnittsvariabel för resourceGroupName.

    # Variable for resource group name
    resourceGroupName="msdocs-cosmos"
    
  2. az cosmosdb list Använd kommandot för att hämta namnet på det första Azure Cosmos DB-kontot i resursgruppen och lagra det i variabeln accountName-gränssnittet.

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

Hämta anslutningssträngen

  1. Leta upp API:et för MongoDB-anslutningssträng från listan över anslutningssträng för kontot med az cosmosdb keys list kommandot .

    az cosmosdb keys list --type connection-strings \
        --resource-group $resourceGroupName \
        --name $accountName 
    
  2. Registrera primärnyckelvärdena. Du använder dessa autentiseringsuppgifter senare.

Konfigurera miljövariabler

Om du vill använda VÄRDENA FÖR ANSLUTNINGSSTRÄNG i koden anger du det här värdet i den lokala miljö som kör programmet. Om du vill ange miljövariabeln använder du önskad terminal för att köra följande kommandon:

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

Skapa MongoClient med anslutningssträng

  1. Lägg till beroenden för att referera till MongoDB- och DotEnv npm-paketen.

    // Read .env file and set environment variables
    require('dotenv').config();
    
    // Use official mongodb driver to connect to the server
    const { MongoClient } = require('mongodb');
    
  2. Definiera en ny instans av MongoClient klassen med konstruktorn och process.env. använd anslutningssträng.

    // 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`)}`);
    

Mer information om olika sätt att skapa en MongoClient instans finns i Snabbstart för MongoDB NodeJS-drivrutin.

Stäng MongoClient-anslutningen

När programmet är klart med anslutningen ska du komma ihåg att stänga det. Anropet .close() ska ske när alla databasanrop har gjorts.

client.close()

Använda MongoDB-klientklasser med Azure Cosmos DB för API för MongoDB

Innan du börjar skapa programmet ska vi titta på resurshierarkin i Azure Cosmos DB. Azure Cosmos DB har en specifik objektmodell som används för att skapa och komma åt resurser. Azure Cosmos DB skapar resurser i en hierarki som består av konton, databaser, samlingar och dokument.

Diagram över Azure Cosmos DB DB-hierarkin, inklusive konton, databaser, samlingar och dokument.

Hierarkiskt diagram som visar ett Azure Cosmos DB DB-konto högst upp. Kontot har två underordnade databasnoder. En av databasnoderna innehåller två underordnade samlingsnoder. Den andra databasnoden innehåller en enda underordnad samlingsnod. Den enda samlingsnoden har tre underordnade doc-noder.

Varje typ av resurs representeras av en eller flera associerade JavaScript-klasser. Här är en lista över de vanligaste klasserna:

Klass beskrivning
MongoClient Den här klassen ger en logisk representation på klientsidan för API:et för MongoDB-lagret i Azure Cosmos DB. Klientobjektet används för att konfigurera och köra begäranden mot tjänsten.
Db Den här klassen är en referens till en databas som kanske, eller kanske inte, finns i tjänsten ännu. Databasen verifieras på serversidan när du försöker komma åt den eller utföra en åtgärd mot den.
Collection Den här klassen är en referens till en samling som kanske inte heller finns i tjänsten ännu. Samlingen verifieras på serversidan när du försöker arbeta med den.

Följande guider visar hur du använder var och en av dessa klasser för att skapa ditt program.

Guide:

Se även

Nästa steg

Nu när du har anslutit till ett API för MongoDB-konto använder du nästa guide för att skapa och hantera databaser.