Udostępnij za pośrednictwem


Zarządzanie bazą danych MongoDB przy użyciu platformy .NET

DOTYCZY: MongoDB

Serwer MongoDB w usłudze Azure Cosmos DB jest dostępny z pakietu NuGet bazy danych MongoDB .

Uwaga

Przykładowe fragmenty kodu są dostępne w witrynie GitHub jako projekt platformy .NET.

Dokumentacja referencyjna interfejsu API dla bazy danych | MongoDB — pakiet MongoDB (NuGet)

Nazwij bazę danych

W usłudze Azure Cosmos DB baza danych jest analogiczna do przestrzeni nazw. Podczas tworzenia bazy danych nazwa bazy danych tworzy segment identyfikatora URI używanego do uzyskiwania dostępu do zasobu bazy danych i wszystkich zasobów podrzędnych.

Po utworzeniu identyfikator URI bazy danych ma następujący format:

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

Tworzenie wystąpienia bazy danych

Możesz użyć polecenia MongoClient , aby uzyskać wystąpienie bazy danych lub utworzyć je, jeśli jeszcze nie istnieje. Klasa MongoDatabase zapewnia dostęp do kolekcji i ich dokumentów.

Poniższy fragment kodu tworzy nową bazę danych, wstawiając dokument do kolekcji. Pamiętaj, że baza danych nie zostanie utworzona, dopóki nie będzie potrzebna dla tego typu operacji.

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

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

Pobieranie istniejącej bazy danych

Możesz również pobrać istniejącą bazę danych przy użyciu GetDatabase metody , aby uzyskać dostęp do jego kolekcji i dokumentów.

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

Pobieranie listy wszystkich baz danych

Listę wszystkich baz danych na serwerze można pobrać przy użyciu polecenia MongoClient.

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

Ta technika może następnie służyć do sprawdzania, czy baza danych już istnieje.

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

Usuwanie bazy danych

Baza danych jest usuwana z serwera przy użyciu DropDatabase metody w klasie DB.

client.DropDatabase("adventureworks");

Zobacz też