Aan de slag met Azure Cosmos DB voor MongoDB met .NET
VAN TOEPASSING OP: MongoDB
In dit artikel leest u hoe u verbinding maakt met Azure Cosmos DB voor MongoDB met behulp van .NET Core en de relevante NuGet-pakketten. Zodra u verbinding hebt gemaakt, kunt u bewerkingen uitvoeren op databases, verzamelingen en documenten.
Notitie
De voorbeeldcodefragmenten zijn beschikbaar op GitHub als een .NET Core-project.
Api voor MongoDB-referentiedocumentatie | MongoDB-pakket (NuGet)
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- .NET 6.0
- Azure-opdrachtregelinterface (CLI) of Azure PowerShell
- Azure Cosmos DB voor MongoDB-resource
Een nieuwe .NET Core-app maken
Maak een nieuwe .NET Core-toepassing in een lege map met behulp van uw favoriete terminal. Voor dit scenario gebruikt u een consoletoepassing. Gebruik de
dotnet new
opdracht om de console-app te maken en een naam te geven.dotnet new console -o app
Voeg het MongoDB NuGet-pakket toe aan het consoleproject. Gebruik de
dotnet add package
opdracht die de naam van het NuGet-pakket opgeeft.dotnet add package MongoDB.Driver
Als u de app wilt uitvoeren, gebruikt u een terminal om naar de toepassingsmap te navigeren en de toepassing uit te voeren.
dotnet run
Verbinding maken met Azure Cosmos DB voor MongoDB met het systeemeigen MongoDB-stuurprogramma
Als u verbinding wilt maken met Azure Cosmos DB met het systeemeigen MongoDB-stuurprogramma, maakt u een exemplaar van de MongoClient
klasse. Deze klasse is het startpunt om alle bewerkingen uit te voeren op MongoDb-databases. De meest voorkomende constructor voor MongoClient accepteert een verbindingsreeks, die u kunt ophalen met behulp van de volgende stappen:
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
Definieer een nieuw exemplaar van de MongoClient
klasse met behulp van de constructor en de verbindingsreeks variabele die u eerder hebt ingesteld.
// New instance of CosmosClient class
var client = new MongoClient(Environment.GetEnvironmentVariable("COSMOS_CONNECTION_STRING"));
var settings = client.Settings;
Console.WriteLine(settings.Server.Host);
De 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 bijbehorende C#-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. |
MongoDatabase |
Deze klasse is een verwijzing naar een database die al dan niet bestaat in de service. De database wordt gevalideerd of gemaakt aan de serverzijde wanneer u een bewerking probeert uit te voeren. |
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 en gegevens te beheren.
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.