Compartir a través de


Administración de una colección en Azure Cosmos DB for MongoDB mediante .NET

SE APLICA A: MongoDB

Administre la colección de MongoDB almacenada en Azure Cosmos DB con el controlador de cliente de MongoDB nativo.

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 un nombre a una colección

En Azure Cosmos DB, una colección es análoga a una tabla en una base de datos relacional. Al crear una colección, el nombre de la colección forma un segmento del URI usado para acceder al recurso de colección y a los documentos secundarios.

Obtención de una instancia de colección

Use una instancia de la clase Collection para tener acceso a la colección en el servidor.

En los siguientes fragmentos de código se supone que ya ha creado la conexión de cliente.

Creación de una colección

Para crear una colección, inserte un documento en la colección.

// insert one document
var product = new BsonDocument
{
    { "name", "Sand Surfboard" },
    { "category", "gear-surf-surfboards" },
    { "count", 1 }
};

client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").InsertOne(product);

// insert many documents
var products = new List<BsonDocument>() 
{
    new BsonDocument
    {
        { "name", "Sand Surfboard" },
        { "category", "gear-surf-surfboards" },
        { "count", 1 }
    },
    new BsonDocument
    {
        { "name", "Ocean Surfboard" },
        { "category", "gear-surf-surfboards" },
        { "count", 5 }
    }
};

client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").InsertMany(products);

Eliminación de una colección

Quite la colección de la base de datos para eliminarla de forma permanente. Sin embargo, la siguiente operación de inserción o actualización con acceso a la colección creará una nueva colección con ese nombre.

client.GetDatabase("adventureworks").DropCollection("products");

Obtención de índices de la colección

El motor de consultas de MongoDB usa un índice para mejorar el rendimiento de las consultas de base de datos.

var indexes = client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").Indexes;

var count = 0;
using (var cursor = await indexes.ListAsync())
{
    do
    {
        if (cursor.Current != null)
        {
            foreach (var index in cursor.Current)
            {
                Console.WriteLine(cursor.Current);
                count++;
            }
        }
    }
    while (await cursor.MoveNextAsync());
}

Consulte también