Compartir a través de


Administración de una base de datos de MongoDB mediante .NET

SE APLICA A: MongoDB

El servidor de MongoDB en Azure Cosmos DB está disponible en el paquete MongoDB de NuGet.

Nota:

Los fragmentos de código de ejemplo están disponibles en GitHub como un proyecto de .NET.

Documentación de referencia de la API para MongoDB | Paquete de MongoDB (NuGet)

Asignación de nombre a una base de datos

En Azure Cosmos DB, una base de datos es análoga a un espacio de nombres. Al crear una base de datos, el nombre de la base de datos forma un segmento del URI utilizado para acceder al recurso de base de datos y a los recursos secundarios.

Una vez creado, el URI de una base de datos tiene este formato:

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

Creación de una instancia de base de datos

Puede usar MongoClient para obtener una instancia de una base de datos o crear una si aún no existe. La clase MongoDatabase proporciona acceso a colecciones y sus documentos.

El siguiente fragmento de código crea una nueva base de datos insertando un documento en una colección. Recuerde que la base de datos no se creará hasta que sea necesaria para este tipo de operación.

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

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

Obtener una base de datos existente

También puede recuperar una base de datos existente por su nombre mediante el método GetDatabase para acceder a sus colecciones y documentos.

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

Obtener una lista de todas las bases de datos

Puede recuperar una lista de todas las bases de datos del servidor mediante MongoClient.

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

Esta técnica se puede usar para comprobar si ya existe una base de datos.

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

Quitar una base de datos

Se quita una base de datos del servidor mediante el método DropDatabase en la clase DB.

client.DropDatabase("adventureworks");

Vea también