Bien démarrer avec Azure Cosmos DB pour MongoDB à l’aide de JavaScript

S’APPLIQUE À : Mongodb

Important

Voulez-vous migrer une application MongoDB existante ou utiliser des fonctionnalités MQL (MongoDB Query Language) ? Considérez Azure DocumentDB.

Recherchez-vous une solution de base de données pour des scénarios à grande échelle avec un contrat de niveau de service de disponibilité (SLA) de 99,999%, une mise à l’échelle automatique instantanée et un basculement automatique entre plusieurs régions ? Envisagez Azure Cosmos DB pour NoSQL.

Cet article explique comment vous connecter à Azure Cosmos DB pour 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.

Note

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)

Prerequisites

Créer une application JavaScript

  1. Créez une application JavaScript dans un dossier vide à l’aide de votre terminal préféré. Utilisez la commande npm init afin de commencer les invites pour créer le fichier package.json. Acceptez les paramètres par défaut pour les demandes.

    npm init
    
  2. Ajoutez le package npm MongoDB au projet JavaScript. Utilisez la npm install package commande 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 pour MongoDB

Pour vous 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 API pour la chaîne de connexion MongoDB à utiliser pour toutes les 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.

Configurer les 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 MongoDB et DotEnv npm.

    // Use official mongodb driver to connect to the server
    import { MongoClient } from 'mongodb';
    
  2. Définissez une nouvelle instance de la classe MongoClient à l’aide du constructeur et process.env. pour utiliser le 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 MongoClient instance, consultez Démarrage rapide du pilote NodeJS MongoDB.

Fermer la connexion MongoClient

Lorsque votre application en a terminé avec la connexion, n’oubliez pas de la fermer. L’appel .close() doit être une fois que tous les appels de base de données sont effectués.

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 Azure Cosmos DB pour MongoDB incluant les comptes, les bases de données, les collections et les documents.

Diagramme hiérarchique montrant un compte Azure Cosmos DB pour MongoDB en haut. 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 une 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 exister, ou non, 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 suivantes vous montrent comment utiliser chacune de ces classes pour générer votre application.

Guide :

Voir également

Étapes suivantes

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