Freigeben über


Herstellen einer Verbindung mit Azure DocumentDB mithilfe der MongoDB-Shell

MongoDB Shell (mongosh) ist eine JavaScript- und Node.js-Umgebung für die Interaktion mit MongoDB-Bereitstellungen. Es ist ein beliebtes Communitytool, um Abfragen zu testen und mit den Daten in Ihrem Azure DocumentDB-Cluster zu interagieren. In diesem Artikel wird erläutert, wie Sie mithilfe der MongoDB-Shell eine Verbindung mit einem Azure DocumentDB-Cluster herstellen.

Voraussetzungen

  • Ein Azure-Abonnement

    • Wenn Sie nicht über ein Azure-Abonnement verfügen, erstellen Sie ein kostenloses Konto
  • Ein vorhandener Azure DocumentDB-Cluster

    • Wenn Sie keinen Cluster haben, erstellen Sie einen neuen Cluster.

Abrufen von Clusteranmeldeinformationen

Rufen Sie die Verbindungszeichenfolge ab, die Sie zum Herstellen einer Verbindung mit diesem Cluster benötigen.

  1. Melden Sie sich beim Azure-Portal an (https://portal.azure.com).

  2. Navigieren Sie zum vorhandenen Azure DocumentDB-Cluster.

Rufen Sie die Anmeldeinformationen ab, die Sie zum Herstellen einer Verbindung mit dem Cluster verwenden.

  1. Wählen Sie auf der Clusterseite die Option "Verbindungszeichenfolgen" im Ressourcenmenü aus.

  2. Kopieren oder aufzeichnen Sie im Abschnitt "Verbindungszeichenfolgen " den Wert aus dem Feld "Verbindungszeichenfolge ".

Screenshot der Option für Verbindungszeichenfolgen.

Von Bedeutung

Die Verbindungszeichenfolge im Portal enthält nicht den Kennwortwert. Sie müssen den <password> Platzhalter durch die Anmeldeinformationen ersetzen, die Sie beim Erstellen des Clusters eingegeben haben, oder das Kennwort interaktiv eingeben.

Herstellen einer Verbindung mit interaktiver Kennwortauthentifizierung

Stellen Sie eine Verbindung mit Ihrem Cluster her, indem Sie die MongoDB-Shell mit einer Verbindungszeichenfolge verwenden, die kein Kennwort enthält. Verwenden Sie die interaktive Kennwortaufforderung, um Ihr Kennwort als Teil der Verbindungsschritte einzugeben.

  1. Öffnen Sie ein Terminal.

  2. Stellen Sie eine Verbindung her, indem Sie das Kennwort in die MongoDB-Shell-Eingabeaufforderung eingeben. Verwenden Sie für diesen Schritt eine Verbindungszeichenfolge ohne das Kennwort.

    mongosh "mongodb+srv://<username>@<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
    
  3. Nachdem Sie das Kennwort angegeben und erfolgreich authentifiziert haben, beobachten Sie die angezeigte Warnung.

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

    Tipp

    Sie können diese Warnung problemlos ignorieren. Diese Warnung wird generiert, weil die Verbindungszeichenfolge cosmos.azure enthält. Azure DocumentDB ist eine native Azure-Plattform als Dienstangebot (PaaS).

  4. Beenden Sie den Shell-Kontext.

Verbindung mit Verbindungszeichenfolge und Kennwort herstellen

Stellen Sie nun eine Verbindung mit Ihrem Cluster über die MongoDB-Shell mit einer Verbindungszeichenfolge und Parametern her, die ein Kennwort enthalten.

  1. Stellen Sie eine Verbindung mithilfe einer Verbindungszeichenfolge und der --username und --password Argumente her.

    mongosh "mongodb+srv://<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000" --username "<username>" -password "<password>"
    
  2. Nachdem Sie das Kennwort angegeben und erfolgreich authentifiziert haben, beobachten Sie die angezeigte Warnung.

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

    Tipp

    Sie können diese Warnung problemlos ignorieren. Diese Warnung wird generiert, weil die Verbindungszeichenfolge cosmos.azure enthält. Azure DocumentDB ist eine native Azure-Plattform als Dienstangebot (PaaS).

Durchführen von Testabfragen

Stellen Sie sicher, dass Sie erfolgreich mit Ihrem Cluster verbunden sind, indem Sie eine Reihe von Testbefehlen und Abfragen ausführen.

  1. Überprüfen Sie den Verbindungsstatus, indem Sie den connectionStatus Befehl ausführen.

    db.runCommand({connectionStatus: 1})
    
    {
      ...
      ok: 1
    }
    
  2. Listen Sie die Datenbanken in Ihrem Cluster auf.

    show dbs
    
  3. Wechseln sie zu einer bestimmten Datenbank. Ersetzen Sie den <database-name> Platzhalter durch den Namen einer beliebigen Datenbank in Ihrem Cluster.

    use <database-name>
    

    Tipp

    Wenn der Datenbankname beispielsweise inventory wäre, dann wäre der Befehl use inventory.

  4. Listen Sie die Sammlungen in der Datenbank auf.

    show collections
    
  5. Suchen Sie die ersten fünf Elemente in einer bestimmten Auflistung. Ersetzen Sie den <collection-name> Platzhalter durch den Namen einer beliebigen Sammlung in Ihrem Cluster.

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

    Tipp

    Wenn der Auflistungsname beispielsweise equipment lautet, dann lautet der Befehl db.equipment.find().limit(5).