Sdílet prostřednictvím


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

Viz také