Dela via


Hantera en MongoDB-databas med hjälp av .NET

GÄLLER FÖR: MongoDB

MongoDB-servern i Azure Cosmos DB är tillgänglig från MongoDB NuGet-paketet.

Kommentar

Exempelkodfragmenten är tillgängliga på GitHub som ett .NET-projekt.

API för MongoDB-referensdokumentation | MongoDB Package (NuGet)

Namnge en databas

I Azure Cosmos DB motsvarar en databas ett namnområde. När du skapar en databas utgör databasnamnet ett segment av den URI som används för att komma åt databasresursen och eventuella underordnade resurser.

När den har skapats är URI:n för en databas i det här formatet:

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

Skapa en databasinstans

Du kan använda MongoClient för att hämta en instans av en databas eller skapa en om den inte redan finns. Klassen MongoDatabase ger åtkomst till samlingar och deras dokument.

Följande kodfragment skapar en ny databas genom att infoga ett dokument i en samling. Kom ihåg att databasen inte skapas förrän den behövs för den här typen av åtgärd.

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

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

Hämta en befintlig databas

Du kan också hämta en befintlig databas med namn med hjälp GetDatabase av metoden för att komma åt dess samlingar och dokument.

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

Hämta en lista över alla databaser

Du kan hämta en lista över alla databaser på servern med hjälp av MongoClient.

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

Den här tekniken kan sedan användas för att kontrollera om det redan finns en databas.

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

Ta bort en databas

En databas tas bort från servern med hjälp av DropDatabase metoden i DB-klassen.

client.DropDatabase("adventureworks");

Se även