Erste Schritte mit Azure Cosmos DB for MongoDB unter Verwendung von JavaScript
GILT FÜR: MongoDB
In diesem Artikel wird gezeigt, wie Sie mit dem nativen npm-Paket von MongoDB eine Verbindung mit Azure Cosmos DB for MongoDB herstellen. Sobald die Verbindung hergestellt ist, können Sie Vorgänge für Datenbanken, Sammlungen und Dokumente ausführen.
Hinweis
Die Beispielcodeausschnitte sind auf GitHub als JavaScript-Projekt verfügbar.
„API für MongoDB“-Referenzdokumentation | MongoDB-Paket (npm)
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Node.js LTS
- Azure-Befehlszeilenschnittstelle (CLI) oder Azure PowerShell
- Azure Cosmos DB for MongoDB-Ressource
Erstellen einer neuen JavaScript-App
Erstellen Sie mithilfe Ihres bevorzugten Terminals eine neue JavaScript-Anwendung in einem leeren Ordner. Verwenden Sie den
npm init
-Befehl, um die Eingabeaufforderungen zum Erstellen derpackage.json
-Datei anzuzeigen. Übernehmen Sie die Standardwerte für die Eingabeaufforderungen.npm init
Fügen Sie das MongoDB-npm-Paket dem JavaScript-Projekt hinzu. Verwenden Sie den Befehl
npm install package
, der den Namen des npm-Pakets angibt. Das Paketdotenv
wird verwendet, um die Umgebungsvariablen während der lokalen Entwicklung aus einer.env
-Datei zu lesen.npm install mongodb dotenv
Verwenden Sie zur Ausführung der App ein Terminal, um zum Anwendungsverzeichnis zu navigieren und die Anwendung auszuführen.
node index.js
Herstellen einer Verbindung mit Azure Cosmos DB for MongoDB mithilfe des nativen MongoDB-Treibers
Um eine Verbindung mit dem nativen MongoDB-Treiber mit Azure Cosmos DB herzustellen, erstellen Sie eine Instanz der MongoClient
-Klasse. Diese Klasse ist der Ausgangspunkt, um alle Vorgänge für Datenbanken auszuführen.
Der gebräuchlichste Konstruktor für MongoClient hat zwei Parameter:
Parameter | Beispielwert | BESCHREIBUNG |
---|---|---|
url |
Umgebungsvariable COSMOS_CONNECTION_STRING |
Für alle Anforderungen zu verwendende „API für MongoDB“-Verbindungszeichenfolge |
options |
{ssl: true, tls: true, } |
MongoDB-Optionen für die Verbindung. |
Weitere Informationen zu Verbindungsproblemen finden Sie im Handbuch zur Problembehandlung.
Ressourcennamen abrufen
Erstellen Sie eine Shell-Variable für resourceGroupName.
# Variable for resource group name resourceGroupName="msdocs-cosmos"
Verwenden Sie den Befehl
az cosmosdb list
, um den Namen des ersten Azure Cosmos DB-Kontos in Ihrer Ressourcengruppe abzurufen und in der Shell-Variable accountName zu speichern.# Retrieve most recently created account name accountName=$( az cosmosdb list \ --resource-group $resourceGroupName \ --query "[0].name" \ --output tsv )
Abrufen der Verbindungszeichenfolge
Suchen Sie mit dem Befehl
az cosmosdb keys list
die Verbindungszeichenfolge der API für MongoDB in der Liste der Verbindungszeichenfolgen für das Konto.az cosmosdb keys list --type connection-strings \ --resource-group $resourceGroupName \ --name $accountName
Zeichnen Sie die PRIMARY KEY-Werte (Primärschlüsselwerte) auf. Sie werden diese Anmeldeinformationen zu einem späteren Zeitpunkt verwenden.
Konfigurieren von Umgebungsvariablen
Wenn Sie die Werte von CONNECTION STRING (Verbindungszeichenfolge) in Ihrem Code verwenden möchten, legen Sie diesen Wert in der lokalen Umgebung fest, in der die Anwendung ausgeführt wird. Verwenden Sie zum Festlegen der Umgebungsvariablen Ihr bevorzugtes Terminal, um die folgenden Befehle auszuführen:
$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"
MongoClient mit Verbindungszeichenfolge erstellen
Fügen Sie Abhängigkeiten hinzu, um auf die npm-Pakete für MongoDB und DotEnv zu verweisen.
// Read .env file and set environment variables require('dotenv').config(); // Use official mongodb driver to connect to the server const { MongoClient } = require('mongodb');
Definieren Sie eine neue Instanz der
MongoClient
-Klasse mit dem Konstruktor undprocess.env.
für die Verwendung der Verbindungszeichenfolge.// 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`)}`);
Weitere Informationen zu den verschiedenen Möglichkeiten zum Erstellen einer MongoClient
-Instanz finden Sie im MongoDB NodeJS Driver Quick Start (Schnellstart zum MongoDB NodeJS-Treiber).
MongoClient-Verbindung schließen
Denken Sie daran, die Verbindung zu schließen, wenn die Anwendung die Verbindung nicht mehr benötigt. Der Aufruf von .close()
sollte erfolgen, nachdem alle Datenbankaufrufe ausgeführt wurden.
client.close()
Verwenden von MongoDB-Clientklassen mit Azure Cosmos DB für die API für MongoDB
Bevor Sie mit dem Erstellen der Anwendung beginnen, sehen Sie sich die Hierarchie von Ressourcen in Azure Cosmos DB an. Bei Azure Cosmos DB gibt es ein spezifisches Objektmodell, das zum Erstellen von und Zugreifen auf Ressourcen verwendet wird. Azure Cosmos DB erstellt Ressourcen in einer Hierarchie, die aus Konten, Datenbanken, Sammlungen und Dokumenten besteht.
Hierarchisches Diagramm mit einem Azure Cosmos DB-Konto oben. Das Konto verfügt über zwei untergeordnete Datenbankknoten. Einer der Datenbankknoten enthält zwei untergeordnete Sammlungsknoten. Der andere Datenbankknoten enthält einen einzelnen untergeordneten Sammlungsknoten. Dieser einzelne Sammlungsknoten verfügt über drei untergeordnete Dokumentknoten.
Jeder Ressourcentyp wird durch eine oder mehrere zugeordnete JavaScript-Klassen dargestellt. Nachstehend finden Sie eine Liste der gängigsten Klassen:
Klasse | BESCHREIBUNG |
---|---|
MongoClient |
Diese Klasse bietet eine clientseitige logische Darstellung für die „API für MongoDB“-Ebene in Azure Cosmos DB. Das Clientobjekt wird zum Konfigurieren und Ausführen von Anforderungen für den Dienst verwendet. |
Db |
Diese Klasse ist ein Verweis auf eine Datenbank, die möglicherweise noch nicht im Dienst vorhanden ist. Die Datenbank wird vom Server aus überprüft, wenn Sie versuchen, darauf zuzugreifen oder einen Vorgang auszuführen. |
Collection |
Diese Klasse ist ein Verweis auf eine Sammlung, die im Dienst ebenfalls möglicherweise noch nicht vorhanden ist. Die Sammlung wird vom Server aus überprüft, wenn Sie versuchen, damit zu arbeiten. |
In den folgenden Leitfäden wird gezeigt, wie Sie diese verschiedenen Klassen verwenden, um Ihre Anwendung zu erstellen.
Anleitung:
- Verwalten von Datenbanken
- Verwalten von Sammlungen
- Verwalten von Dokumenten
- Verwenden von Abfragen zum Suchen von Dokumenten
Weitere Informationen
Nächste Schritte
Nachdem Sie nun eine Verbindung mit einem API für MongoDB-Konto hergestellt haben, befolgen Sie die nächste Anleitung zum Erstellen und Verwalten von Datenbanken.