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.
- MongoClient.Database.Collection
- MongoClient.Database.Collection.InsertOne
- MongoClient.Database.Collection.InsertMany
// 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());
}