Aan de slag met Azure Cosmos DB voor MongoDB met behulp van JavaScript
VAN TOEPASSING OP: MongoDB
In dit artikel leest u hoe u verbinding maakt met Azure Cosmos DB voor MongoDB met behulp van het systeemeigen MongoDB NPM-pakket. Zodra u verbinding hebt gemaakt, kunt u bewerkingen uitvoeren op databases, verzamelingen en documenten.
Notitie
De voorbeeldcodefragmenten zijn beschikbaar op GitHub als een JavaScript-project.
Api voor MongoDB-referentiedocumentatie | MongoDB-pakket (npm)
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Node.js LTS
- Azure-opdrachtregelinterface (CLI) of Azure PowerShell
- Azure Cosmos DB voor MongoDB-resource
Een nieuwe JavaScript-app maken
Maak een nieuwe JavaScript-toepassing in een lege map met behulp van uw favoriete terminal. Gebruik de
npm init
opdracht om de prompts te starten om hetpackage.json
bestand te maken. Accepteer de standaardwaarden voor de prompts.npm init
Voeg het MongoDB NPM-pakket toe aan het JavaScript-project. Gebruik de
npm install package
opdracht die de naam van het npm-pakket opgeeft. Hetdotenv
pakket wordt gebruikt om de omgevingsvariabelen uit een.env
bestand te lezen tijdens lokale ontwikkeling.npm install mongodb dotenv
Als u de app wilt uitvoeren, gebruikt u een terminal om naar de toepassingsmap te navigeren en de toepassing uit te voeren.
node index.js
Verbinding maken met het systeemeigen MongoDB-stuurprogramma met Azure Cosmos DB voor MongoDB
Als u verbinding wilt maken met het systeemeigen MongoDB-stuurprogramma met Azure Cosmos DB, maakt u een exemplaar van de MongoClient
klasse. Deze klasse is het startpunt om alle bewerkingen uit te voeren op databases.
De meest voorkomende constructor voor MongoClient heeft twee parameters:
Parameter | Voorbeeldwaarde | Beschrijving |
---|---|---|
url |
COSMOS_CONNECTION_STRING Omgevingsvariabele |
API voor MongoDB-verbindingsreeks voor alle aanvragen |
options |
{ssl: true, tls: true, } |
MongoDB-opties voor de verbinding. |
Raadpleeg de gids voor probleemoplossing voor verbindingsproblemen.
Resourcenaam ophalen
Maak een shellvariabele voor resourceGroupName.
# Variable for resource group name resourceGroupName="msdocs-cosmos"
Gebruik de
az cosmosdb list
opdracht om de naam van het eerste Azure Cosmos DB-account in uw resourcegroep op te halen en op te slaan in de accountName-shellvariabele .# Retrieve most recently created account name accountName=$( az cosmosdb list \ --resource-group $resourceGroupName \ --query "[0].name" \ --output tsv )
De verbindingsreeks ophalen
Zoek de API voor MongoDB-verbindingsreeks in de lijst met verbindingsreeks s voor het account met de
az cosmosdb keys list
opdracht.az cosmosdb keys list --type connection-strings \ --resource-group $resourceGroupName \ --name $accountName
Noteer de WAARDEN VAN DE PRIMAIRE SLEUTEL . U gebruikt deze referenties later.
Omgevingsvariabelen configureren
Als u de WAARDEN VOOR VERBINDINGSREEKS in uw code wilt gebruiken, stelt u deze waarde in in de lokale omgeving waarop de toepassing wordt uitgevoerd. Als u de omgevingsvariabele wilt instellen, gebruikt u de terminal van uw voorkeur om de volgende opdrachten uit te voeren:
$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"
MongoClient maken met verbindingsreeks
Voeg afhankelijkheden toe om te verwijzen naar de MongoDB- en DotEnv NPM-pakketten.
// Read .env file and set environment variables require('dotenv').config(); // Use official mongodb driver to connect to the server const { MongoClient } = require('mongodb');
Definieer een nieuw exemplaar van de
MongoClient
klasse met behulp van de constructor enprocess.env.
gebruik de verbindingsreeks.// 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`)}`);
Zie Snel aan de slag met MongoDB NodeJS Driver voor meer informatie over verschillende manieren om een MongoClient
exemplaar te maken.
Sluit de MongoClient-verbinding
Wanneer uw toepassing klaar is met de verbinding, moet u deze sluiten. De .close()
aanroep moet zijn nadat alle databaseaanroepen zijn uitgevoerd.
client.close()
MongoDB-clientklassen gebruiken met Azure Cosmos DB voor API voor MongoDB
Voordat u begint met het bouwen van de toepassing, gaan we kijken naar de hiërarchie van resources in Azure Cosmos DB. Azure Cosmos DB heeft een specifiek objectmodel dat wordt gebruikt voor het maken en openen van resources. Azure Cosmos DB maakt resources in een hiërarchie die bestaat uit accounts, databases, verzamelingen en documenten.
Hiërarchisch diagram met een Azure Cosmos DB DB-account bovenaan. Het account heeft twee onderliggende databaseknooppunten. Een van de databaseknooppunten bevat twee onderliggende verzamelingsknooppunten. Het andere databaseknooppunt bevat één onderliggend verzamelingsknooppunt. Dat knooppunt voor één verzameling heeft drie onderliggende doc-knooppunten.
Elk type resource wordt vertegenwoordigd door een of meer gekoppelde JavaScript-klassen. Hier volgt een lijst met de meest voorkomende klassen:
Klas | Beschrijving |
---|---|
MongoClient |
Deze klasse biedt een logische weergave aan de clientzijde voor de API voor MongoDB-laag in Azure Cosmos DB. Het clientobject wordt gebruikt om aanvragen aan de service te configureren en uitvoeren. |
Db |
Deze klasse is een verwijzing naar een database die al dan niet bestaat in de service. De database wordt gevalideerd aan de serverzijde wanneer u deze probeert te openen of een bewerking uitvoert. |
Collection |
Deze klasse is een verwijzing naar een verzameling die mogelijk nog niet bestaat in de service. De verzameling wordt gevalideerd aan de serverzijde wanneer u ermee probeert te werken. |
In de volgende handleidingen ziet u hoe u elk van deze klassen gebruikt om uw toepassing te bouwen.
Handleiding:
- Databases beheren
- Verzamelingen beheren
- Documenten beheren
- Query's gebruiken om documenten te zoeken
Zie ook
Volgende stappen
Nu u verbinding hebt gemaakt met een API voor MongoDB-account, gebruikt u de volgende handleiding voor het maken en beheren van databases.