Gérer une base de données MongoDB à l’aide de .NET
S’APPLIQUE À : MongoDB
Votre serveur MongoDB dans Azure Cosmos DB est disponible à partir du package NuGet MongoDB.
Notes
Les exemples d’extraits de code sont disponibles sur GitHub en tant que projet .NET.
Documentation de référence sur l’API pour MongoDB | Package MongoDB (NuGet)
Nommer une base de données
Dans Azure Cosmos DB, une base de données est analogue à un espace de noms. Lorsque vous créez une base de données, le nom de la base de données forme un segment de l’URI utilisé pour accéder à la ressource de base de données et à toutes les ressources enfants.
Une fois créé, l’URI d’une base de données est au format suivant :
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>
Créer une instance de base de données
Vous pouvez utiliser MongoClient
pour obtenir l’instance d’une base de données ou en créer une si elle n’existe pas déjà. La classe MongoDatabase
fournit l’accès aux collections et à leurs documents.
L’extrait de code suivant crée une nouvelle base de données en insérant un document dans une collection. N’oubliez pas que la base de données n’est pas créée tant qu’elle n’est pas nécessaire pour ce type d’opération.
var client = new MongoClient(Environment.GetEnvironmentVariable("MONGO_CONNECTION"));
client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").InsertOne(new BsonDocument() { { "Name", "surfboard" } });
Obtenir une base de données existante
Vous pouvez également récupérer une base de données existante par nom à l’aide de la méthode GetDatabase
pour accéder à ses collections et documents.
var collections = client.GetDatabase("adventureworks").ListCollectionNames();
Console.WriteLine($"The database has {collections.ToList().Count} collection.");
Obtenir la liste de toutes les bases de données
Vous pouvez récupérer une liste de toutes les bases de données sur le serveur à l’aide de MongoClient
.
var dbFindList = client.ListDatabaseNames().ToList();
Cette technique peut ensuite être utilisée pour vérifier si une base de données existe déjà.
var dbFound = dbFindList.FirstOrDefault(x => x == "adventureworks");
if (dbFound is not null)
{
Console.WriteLine($"{dbFound} database found");
}
else
{
Console.WriteLine($"{dbFound} database not found.");
}
Déposer une base de données
Une base de données est supprimée du serveur à l’aide de la méthode DropDatabase
sur la classe de base de données.
client.DropDatabase("adventureworks");