Správa databáze MongoDB pomocí .NET
PLATÍ PRO: MongoDB
Váš server MongoDB ve službě Azure Cosmos DB je dostupný z balíčku NuGet MongoDB .
Poznámka:
Ukázkové fragmenty kódu jsou k dispozici na GitHubu jako projekt .NET.
Referenční dokumentace | k rozhraní API pro MongoDB – Balíček MongoDB (NuGet)
Pojmenování databáze
Ve službě Azure Cosmos DB je databáze analogická k oboru názvů. Při vytváření databáze tvoří název databáze segment identifikátoru URI, který se používá pro přístup k databázovému prostředku a všem podřízeným prostředkům.
Po vytvoření je identifikátor URI databáze v tomto formátu:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>
Vytvoření instance databáze
Můžete použít MongoClient
k získání instance databáze nebo ji vytvořit, pokud ještě neexistuje. Třída MongoDatabase
poskytuje přístup k kolekcím a jejich dokumentům.
Následující fragment kódu vytvoří novou databázi vložením dokumentu do kolekce. Nezapomeňte, že databáze se nevytvořila, dokud nebude potřeba pro tento typ operace.
var client = new MongoClient(Environment.GetEnvironmentVariable("MONGO_CONNECTION"));
client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").InsertOne(new BsonDocument() { { "Name", "surfboard" } });
Získání existující databáze
Existující databázi můžete také načíst pomocí názvu pomocí GetDatabase
metody pro přístup ke svým kolekcím a dokumentům.
var collections = client.GetDatabase("adventureworks").ListCollectionNames();
Console.WriteLine($"The database has {collections.ToList().Count} collection.");
Získání seznamu všech databází
Seznam všech databází na serveru můžete načíst pomocí nástroje MongoClient
.
var dbFindList = client.ListDatabaseNames().ToList();
Tuto techniku pak můžete použít ke kontrole, jestli už databáze existuje.
var dbFound = dbFindList.FirstOrDefault(x => x == "adventureworks");
if (dbFound is not null)
{
Console.WriteLine($"{dbFound} database found");
}
else
{
Console.WriteLine($"{dbFound} database not found.");
}
Vyřazení databáze
Databáze se ze serveru odebere pomocí DropDatabase
metody ve třídě DB.
client.DropDatabase("adventureworks");