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");