Partager via


Se connecter à Azure DocumentDB à l’aide de MongoDB Shell

MongoDB Shell (mongosh) est un environnement JavaScript et Node.js pour interagir avec les déploiements MongoDB. Il s’agit d’un outil de communauté populaire pour tester les requêtes et interagir avec les données de votre cluster Azure DocumentDB. Cet article explique comment se connecter à un cluster Azure DocumentDB à l’aide de MongoDB Shell.

Prerequisites

  • Un abonnement Azure

  • Un cluster Azure DocumentDB existant

    • Si vous n’avez pas de cluster, créez un cluster
  • Interpréteur de commandes MongoDB. Pour plus d’informations, consultez installer le shell MongoDB

  • Règles de pare-feu qui permettent à votre client de se connecter au cluster. Pour plus d’informations, consultez configurer le pare-feu.

Obtenir les informations d’identification du cluster

Obtenez la chaîne de connexion dont vous avez besoin pour vous connecter à ce cluster.

  1. Connectez-vous au portail Azure (https://portal.azure.com).

  2. Accédez au cluster Azure DocumentDB existant.

Obtenez les informations d’identification que vous utilisez pour vous connecter au cluster.

  1. Dans la page du cluster, sélectionnez l’option Chaînes de connexion dans le menu de ressources.

  2. Dans la section Chaînes de connexion, copiez ou enregistrez la valeur à partir du champ Chaîne de connexion .

Capture d’écran montrant l’option chaînes de connexion.

Important

La chaîne de connexion dans le portail n’inclut pas la valeur du mot de passe. Vous devez remplacer l’espace <password> réservé par les informations d’identification que vous avez entrées lors de la création du cluster ou entrer le mot de passe de manière interactive.

Se connecter avec l’authentification interactive par mot de passe

Connectez-vous à votre cluster à l’aide de MongoDB Shell avec une chaîne de connexion qui n’inclut pas de mot de passe. Utilisez l’invite de mot de passe interactive pour entrer votre mot de passe dans le cadre des étapes de connexion.

  1. Ouvrez un terminal.

  2. Connectez-vous en entrant le mot de passe dans l'invite de commande du Shell MongoDB. Pour cette étape, utilisez une chaîne de connexion sans mot de passe.

    mongosh "mongodb+srv://<username>@<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
    
  3. Une fois que vous avez fourni le mot de passe et que vous avez correctement authentifié, observez l’avertissement qui s’affiche

    This server or service appears to be an emulation of MongoDB.
    

    Conseil / Astuce

    Vous pouvez ignorer cet avertissement en toute sécurité. Cet avertissement est généré, car la chaîne de connexion contient cosmos.azure. Azure DocumentDB est une offre PaaS (Platform as a Service) Azure native.

  4. Quittez le contexte de l’interpréteur de commandes.

Se connecter avec une chaîne de connexion et un mot de passe

À présent, connectez-vous à votre cluster à partir de l’interpréteur de commandes MongoDB avec une chaîne de connexion et des paramètres qui incluent un mot de passe.

  1. Connectez-vous à l’aide d’une chaîne de connexion et des --username--password arguments.

    mongosh "mongodb+srv://<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000" --username "<username>" -password "<password>"
    
  2. Une fois que vous avez fourni le mot de passe et que vous avez correctement authentifié, observez l’avertissement qui s’affiche.

    ------
       Warning: Non-Genuine MongoDB Detected
       This server or service appears to be an emulation of MongoDB rather than an official MongoDB product.
    ------
    

    Conseil / Astuce

    Vous pouvez ignorer cet avertissement en toute sécurité. Cet avertissement est généré, car la chaîne de connexion contient cosmos.azure. Azure DocumentDB est une offre PaaS (Platform as a Service) Azure native.

Effectuer des requêtes de test

Vérifiez que vous êtes correctement connecté à votre cluster en effectuant une série de commandes de test et de requêtes.

  1. Vérifiez l’état de votre connexion en exécutant la connectionStatus commande.

    db.runCommand({connectionStatus: 1})
    
    {
      ...
      ok: 1
    }
    
  2. Répertoriez les bases de données de votre cluster.

    show dbs
    
  3. Basculez vers une base de données spécifique. Remplacez l’espace <database-name> réservé par le nom de n’importe quelle base de données de votre cluster.

    use <database-name>
    

    Conseil / Astuce

    Par exemple, si le nom de la base de données est inventory, la commande serait use inventory.

  4. Répertorier les collections dans la base de données.

    show collections
    
  5. Recherchez les cinq premiers éléments d’une collection spécifique. Remplacez l’espace <collection-name> réservé par le nom d’une collection dans votre cluster.

    db.<collection-name>.find().limit(5)
    

    Conseil / Astuce

    Par exemple, si le nom de la collection est equipment, la commande serait db.equipment.find().limit(5).