Gerenciar uma coleção no Azure Cosmos DB for MongoDB usando o .NET
APLICA-SE AO: MongoDB
Gerencie sua coleção do MongoDB armazenada no Azure Cosmos DB com o driver do cliente do MongoDB nativo.
Observação
Os trechos de código de exemplo estão disponíveis no GitHub como um projeto .NET.
Documentação de referência da API for MongoDB | Pacote do MongoDB (NuGet)
Nomear 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 da coleção e todos os documentos filho.
Obter instância de coleção
Use uma instância da classe Coleção para acessar a coleção no servidor.
Os snippets 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);
Remover uma coleção
Remova 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 da coleção
Um índice é usado pelo mecanismo de consulta do MongoDB para melhorar o desempenho das consultas do 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());
}