Aan de slag met Azure Cosmos DB voor MongoDB met behulp van JavaScript

VAN TOEPASSING OP: MongoDB

In dit artikel leest u hoe u verbinding maakt met Azure Cosmos DB voor MongoDB met behulp van het systeemeigen MongoDB NPM-pakket. Zodra u verbinding hebt gemaakt, kunt u bewerkingen uitvoeren op databases, verzamelingen en documenten.

Notitie

De voorbeeldcodefragmenten zijn beschikbaar op GitHub als een JavaScript-project.

Api voor MongoDB-referentiedocumentatie | MongoDB-pakket (npm)

Vereisten

Een nieuwe JavaScript-app maken

  1. Maak een nieuwe JavaScript-toepassing in een lege map met behulp van uw favoriete terminal. Gebruik de npm init opdracht om de prompts te starten om het package.json bestand te maken. Accepteer de standaardwaarden voor de prompts.

    npm init
    
  2. Voeg het MongoDB NPM-pakket toe aan het JavaScript-project. Gebruik de npm install package opdracht die de naam van het npm-pakket opgeeft. Het dotenv pakket wordt gebruikt om de omgevingsvariabelen uit een .env bestand te lezen tijdens lokale ontwikkeling.

    npm install mongodb dotenv
    
  3. Als u de app wilt uitvoeren, gebruikt u een terminal om naar de toepassingsmap te navigeren en de toepassing uit te voeren.

    node index.js
    

Verbinding maken met systeemeigen MongoDB-stuurprogramma voor Azure Cosmos DB voor MongoDB

Als u verbinding wilt maken met het systeemeigen MongoDB-stuurprogramma met Azure Cosmos DB, maakt u een exemplaar van de MongoClient klasse. Deze klasse is het startpunt om alle bewerkingen uit te voeren op databases.

De meest voorkomende constructor voor MongoClient heeft twee parameters:

Parameter Voorbeeldwaarde Beschrijving
url COSMOS_CONNECTION_STRING Omgevingsvariabele API voor MongoDB-verbindingsreeks voor alle aanvragen
options {ssl: true, tls: true, } MongoDB-opties voor de verbinding.

Raadpleeg de gids voor probleemoplossing voor verbindingsproblemen.

Resourcenaam ophalen

  1. Maak een shellvariabele voor resourceGroupName.

    # Variable for resource group name
    resourceGroupName="msdocs-cosmos"
    
  2. Gebruik de az cosmosdb list opdracht om de naam van het eerste Azure Cosmos DB-account in uw resourcegroep op te halen en op te slaan in de accountName-shellvariabele .

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

De verbindingsreeks ophalen

  1. Zoek de API voor MongoDB-verbindingsreeks in de lijst met verbindingsreeks s voor het account met de az cosmosdb keys list opdracht.

    az cosmosdb keys list --type connection-strings \
        --resource-group $resourceGroupName \
        --name $accountName 
    
  2. Noteer de WAARDEN VAN DE PRIMAIRE SLEUTEL . U gebruikt deze referenties later.

Omgevingsvariabelen configureren

Als u de WAARDEN VOOR VERBINDINGSREEKS in uw code wilt gebruiken, stelt u deze waarde in in de lokale omgeving waarop de toepassing wordt uitgevoerd. Als u de omgevingsvariabele wilt instellen, gebruikt u de terminal van uw voorkeur om de volgende opdrachten uit te voeren:

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

MongoClient maken met verbindingsreeks

  1. Voeg afhankelijkheden toe om te verwijzen naar de MongoDB- en DotEnv NPM-pakketten.

    // Read .env file and set environment variables
    require('dotenv').config();
    
    // Use official mongodb driver to connect to the server
    const { MongoClient } = require('mongodb');
    
  2. Definieer een nieuw exemplaar van de MongoClient klasse met behulp van de constructor en process.env. gebruik de verbindingsreeks.

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

Zie Snel aan de slag met MongoDB NodeJS Driver voor meer informatie over verschillende manieren om een MongoClient exemplaar te maken.

Sluit de MongoClient-verbinding

Wanneer uw toepassing klaar is met de verbinding, moet u deze sluiten. De .close() aanroep moet zijn nadat alle databaseaanroepen zijn uitgevoerd.

client.close()

MongoDB-clientklassen gebruiken met Azure Cosmos DB voor API voor MongoDB

Voordat u begint met het bouwen van de toepassing, gaan we kijken naar de hiërarchie van resources in Azure Cosmos DB. Azure Cosmos DB heeft een specifiek objectmodel dat wordt gebruikt voor het maken en openen van resources. Azure Cosmos DB maakt resources in een hiërarchie die bestaat uit accounts, databases, verzamelingen en documenten.

Diagram van de Azure Cosmos DB DB-hiërarchie, waaronder accounts, databases, verzamelingen en documenten.

Hiërarchisch diagram met een Azure Cosmos DB DB-account bovenaan. Het account heeft twee onderliggende databaseknooppunten. Een van de databaseknooppunten bevat twee onderliggende verzamelingsknooppunten. Het andere databaseknooppunt bevat één onderliggend verzamelingsknooppunt. Dat knooppunt voor één verzameling heeft drie onderliggende doc-knooppunten.

Elk type resource wordt vertegenwoordigd door een of meer gekoppelde JavaScript-klassen. Hier volgt een lijst met de meest voorkomende klassen:

Klas Beschrijving
MongoClient Deze klasse biedt een logische weergave aan de clientzijde voor de API voor MongoDB-laag in Azure Cosmos DB. Het clientobject wordt gebruikt om aanvragen aan de service te configureren en uitvoeren.
Db Deze klasse is een verwijzing naar een database die al dan niet bestaat in de service. De database wordt gevalideerd aan de serverzijde wanneer u deze probeert te openen of een bewerking uitvoert.
Collection Deze klasse is een verwijzing naar een verzameling die mogelijk nog niet bestaat in de service. De verzameling wordt gevalideerd aan de serverzijde wanneer u ermee probeert te werken.

In de volgende handleidingen ziet u hoe u elk van deze klassen gebruikt om uw toepassing te bouwen.

Handleiding:

Zie ook

Volgende stappen

Nu u verbinding hebt gemaakt met een API voor MongoDB-account, gebruikt u de volgende handleiding voor het maken en beheren van databases.