Share via


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 nieuwe .NET Core-app maken

  1. 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
    
  2. 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
    
  3. 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 naar 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

  1. Maak een shellvariabele voor resourceGroupName.

    # Variable for resource group name
    resourceGroupName="msdocs-cosmos"
    
  2. 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

  1. 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 
    
  2. 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.

Diagram van de Azure Cosmos DB DB-hiërarchie, waaronder 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:

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.