Een MongoDB-database beheren met .NET
VAN TOEPASSING OP: MongoDB
Uw MongoDB-server in Azure Cosmos DB is beschikbaar via het MongoDB NuGet-pakket.
Notitie
De voorbeeldcodefragmenten zijn beschikbaar op GitHub als een .NET-project.
Api voor MongoDB-referentiedocumentatie | MongoDB-pakket (NuGet)
Een database een naam opgeven
In Azure Cosmos DB is een database vergelijkbaar met een naamruimte. Wanneer u een database maakt, vormt de databasenaam een segment van de URI die wordt gebruikt voor toegang tot de databaseresource en eventuele onderliggende resources.
Zodra de URI voor een database is gemaakt, heeft deze indeling:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>
Een database-exemplaar maken
U kunt de database MongoClient
gebruiken om een exemplaar van een database op te halen of er een te maken als deze nog niet bestaat. De MongoDatabase
klasse biedt toegang tot verzamelingen en hun documenten.
Met het volgende codefragment wordt een nieuwe database gemaakt door een document in te voegen in een verzameling. Vergeet niet dat de database pas wordt gemaakt als deze nodig is voor dit type bewerking.
var client = new MongoClient(Environment.GetEnvironmentVariable("MONGO_CONNECTION"));
client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").InsertOne(new BsonDocument() { { "Name", "surfboard" } });
Een bestaande database ophalen
U kunt ook een bestaande database op naam ophalen met behulp van de GetDatabase
methode voor toegang tot de verzamelingen en documenten.
var collections = client.GetDatabase("adventureworks").ListCollectionNames();
Console.WriteLine($"The database has {collections.ToList().Count} collection.");
Een lijst met alle databases ophalen
U kunt een lijst met alle databases op de server ophalen met behulp van de MongoClient
.
var dbFindList = client.ListDatabaseNames().ToList();
Deze techniek kan vervolgens worden gebruikt om te controleren of er al een database bestaat.
var dbFound = dbFindList.FirstOrDefault(x => x == "adventureworks");
if (dbFound is not null)
{
Console.WriteLine($"{dbFound} database found");
}
else
{
Console.WriteLine($"{dbFound} database not found.");
}
Een database verwijderen
Een database wordt verwijderd van de server met behulp van de DropDatabase
methode in de DB-klasse.
client.DropDatabase("adventureworks");