Bien démarrer avec Azure Cosmos DB for MongoDB en JavaScript

S’APPLIQUE À : MongoDB

Cet article explique comment vous connecter à Azure Cosmos DB for MongoDB à l’aide du package npm MongoDB natif. Une fois connecté, vous pouvez effectuer des opérations sur des bases de données, des collections et des documents.

Notes

Les exemples d’extraits de code sont disponibles sur GitHub sous la forme d’un projet JavaScript.

Documentation de référence de l’API pour MongoDB | Package MongoDB (npm)

Prérequis

Créer une application JavaScript

  1. Créez une application JavaScript dans un dossier vide à l’aide du terminal de votre choix. Utilisez la commande npm init pour commencer les invites afin de créer le fichier package.json. Acceptez les valeurs par défaut pour les invites.

    npm init
    
  2. Ajoutez le package npm MongoDB npm au projet JavaScript. Utilisez la commande npm install package en spécifiant le nom du package npm. Le package dotenv est utilisé pour lire les variables d’environnement à partir d’un fichier .env pendant le développement local.

    npm install mongodb dotenv
    
  3. Pour exécuter l’application, utilisez un terminal pour accéder au répertoire de l’application et exécuter l’application.

    node index.js
    

Se connecter avec le pilote natif MongoDB à Azure Cosmos DB for MongoDB

Pour se connecter au pilote natif MongoDB à Azure Cosmos DB, créez une instance de la classe MongoClient. Cette classe est le point de départ pour effectuer toutes les opérations sur des bases de données.

Le constructeur le plus courant pour MongoClient a deux paramètres :

Paramètre Exemple de valeur Description
url COSMOS_CONNECTION_STRING variable d’environnement Chaîne de connexion de l’API MongoDB à utiliser pour toutes le requêtes
options {ssl: true, tls: true, } Options MongoDB pour la connexion.

Reportez-vous au guide de résolution des problèmes de connexion.

Obtenir le nom de la ressource

  1. Créez une variable d’interpréteur de commandes pour resourceGroupName.

    # Variable for resource group name
    resourceGroupName="msdocs-cosmos"
    
  2. Utilisez la commande az cosmosdb list pour récupérer le nom du premier compte Azure Cosmos DB dans votre groupe de ressources et le stocker dans la variable d’interpréteur de commandes accountName.

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

Récupération de votre chaîne de connexion

  1. Recherchez la chaîne de connexion de l’API MongoDB dans la liste des chaînes de connexion du compte à l’aide de la commande az cosmosdb keys list.

    az cosmosdb keys list --type connection-strings \
        --resource-group $resourceGroupName \
        --name $accountName 
    
  2. Enregistrez les valeurs de CLÉ PRIMAIRE. Vous aurez besoin de ces informations d’identification ultérieurement.

Configuration des variables d’environnement

Pour utiliser les valeurs de CHAÎNE DE CONNEXION dans votre code, définissez cette valeur dans l’environnement local exécutant l’application. Pour définir la variable d’environnement, utilisez votre terminal préféré pour exécuter les commandes suivantes :

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

Créer un client MongoClient avec une chaîne de connexion

  1. Ajoutez des dépendances pour référencer les packages npm MongoDB et DotEnv.

    // Read .env file and set environment variables
    require('dotenv').config();
    
    // Use official mongodb driver to connect to the server
    const { MongoClient } = require('mongodb');
    
  2. Définissez une nouvelle instance de la classe MongoClient à l’aide du constructeur et process.env. pour utiliser la chaîne de connexion.

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

Pour plus d’informations sur les différentes façons de créer une instance MongoClient, consultez Guide de démarrage rapide sur le pilote NodeJS MongoDB.

Fermer la connexion MongoClient

Une fois que votre application a fini d’utiliser la connexion, n’oubliez pas de fermer celle-ci. L’appel de .close() doit être effectué après tous les appels de base de données.

client.close()

Utiliser des classes de clients MongoDB avec l’API Azure Cosmos DB for MongoDB

Avant de commencer à générer l’application, examinons la hiérarchie des ressources dans Azure Cosmos DB. Azure Cosmos DB a un modèle objet spécifique utilisé pour créer et accéder aux ressources. Azure Cosmos DB crée des ressources dans une hiérarchie qui se compose de comptes, de bases de données, de collections et de documents.

Diagramme de la hiérarchie de base de données d’Azure Cosmos DB comprenant les comptes, les bases de données, les collections et les documents.

Diagramme hiérarchique montrant un compte de base de données Azure Cosmos DB au sommet. Le compte présente deux nœuds de base de données enfants. L’un des nœuds de base de données comprend deux nœuds de collection enfants. L’autre nœud de base de données inclut un nœud de collection enfant unique. Ce nœud de collection unique compte trois nœuds de documentation enfants.

Chaque type de ressource est représenté par un ou plusieurs classes JavaScript associées : Voici une liste des classes les plus courantes :

Classe Description
MongoClient Cette classe fournit une représentation logique côté client pour la couche d’API MongoDB dans Azure Cosmos DB. Ce client est utilisé pour configurer et exécuter des requêtes sur le service.
Db Cette classe est une référence à une base de données qui peut, ou non, exister dans le service. La base de données est validée côté serveur lorsque vous tentez d’y accéder ou d’effectuer une opération sur celle-ci.
Collection Cette classe est une référence à une collection qui n’existe pas encore dans le service. La collection est validée côté serveur lorsque vous tentez de l’utiliser.

Les guides suivants vous montrent comment utiliser chacune de ces classes pour générer votre application.

Guide :

Voir aussi

Étapes suivantes

Une fois que vous êtes connecté à un compte d’API pour MongoDB, utilisez le guide suivant pour créer et gérer des bases de données.