Gerenciar uma coleção no Azure Cosmos DB para MongoDB usando .NET
APLICA-SE A: MongoDB
Gerencie sua coleção MongoDB armazenada no Azure Cosmos DB com o driver de cliente MongoDB nativo.
Nota
Os trechos de código de exemplo estão disponíveis no GitHub como um projeto .NET.
Documentação | de referência da API para MongoDB Pacote MongoDB (NuGet)
Nomeie uma coleção
No Azure Cosmos DB, uma coleção é análoga a uma tabela em um banco de dados relacional. Quando você cria uma coleção, o nome da coleção forma um segmento do URI usado para acessar o recurso de coleção e quaisquer documentos filho.
Obter instância de coleta
Use uma instância da classe Collection para acessar a coleção no servidor.
Os trechos de código a seguir pressupõem que você já criou sua conexão de cliente.
Criar uma coleção
Para criar uma coleção, insira um documento na coleção.
- 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);
Solte uma coleção
Solte a coleção do banco de dados para removê-la permanentemente. No entanto, a próxima operação de inserção ou atualização que acessa a coleção criará uma nova coleção com esse nome.
client.GetDatabase("adventureworks").DropCollection("products");
Obter índices de coleção
Um índice é usado pelo mecanismo de consulta MongoDB para melhorar o desempenho de consultas de banco de dados.
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());
}