Freigeben über


Verwalten einer MongoDB-Datenbank mithilfe von .NET

GILT FÜR: MongoDB

Der MongoDB-Server in Azure Cosmos DB ist im NuGet-Paket für MongoDB verfügbar.

Hinweis

Die Beispielcodeausschnitte sind auf GitHub als .NET-Projekt verfügbar.

API for MongoDB-Referenzdokumentation | MongoDB-Paket (NuGet)

Benennen einer Datenbank

In Azure Cosmos DB ist eine Datenbank analog zu einem Namespace. Wenn Sie eine Datenbank erstellen, bildet der Datenbankname ein Segment des URI, der für den Zugriff auf die Datenbankressource und alle untergeordneten Ressourcen verwendet wird.

Nach der Erstellung weist der URI für eine Datenbank das folgende Format auf:

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>

Erstellen einer Datenbankinstanz

Sie können den MongoClient zum Abrufen bzw. zum Erstellen einer Datenbankinstanz verwenden, falls noch keine vorhanden ist. Die MongoDatabase-Klasse bietet Zugriff auf Sammlungen und deren Dokumente.

Der folgende Codeschnipsel erstellt eine neue Datenbank, indem ein Dokument in eine Sammlung eingefügt wird. Beachten Sie, dass die Datenbank erst erstellt wird, wenn sie für diesen Vorgangstyp erforderlich ist.

var client = new MongoClient(Environment.GetEnvironmentVariable("MONGO_CONNECTION"));

client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").InsertOne(new BsonDocument() { { "Name", "surfboard" } });

Abrufen einer vorhandenen Datenbank

Sie können auch eine vorhandene Datenbank anhand ihres Namens abrufen und über die GetDatabase-Methode auf ihre Sammlungen und Dokumente zugreifen.

var collections = client.GetDatabase("adventureworks").ListCollectionNames();
Console.WriteLine($"The database has {collections.ToList().Count} collection.");

Abrufen einer Liste aller Datenbanken

Über MongoClient können Sie eine Liste aller Datenbanken auf dem Server abrufen.

var dbFindList = client.ListDatabaseNames().ToList();

Anschließend kann anhand dieser Technik überprüft werden, ob eine Datenbank bereits vorhanden ist.

var dbFound = dbFindList.FirstOrDefault(x => x == "adventureworks");
if (dbFound is not null)
{
    Console.WriteLine($"{dbFound} database found");
}
else
{
    Console.WriteLine($"{dbFound} database not found.");
}

Löschen einer Datenbank

Eine Datenbank wird mit der DropDatabase-Methode in der DB-Klasse vom Server entfernt.

client.DropDatabase("adventureworks");

Siehe auch