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