Compartilhar via


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.

// 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());
}

Confira também