Gerenciar um banco de dados MongoDB usando o .NET
APLICA-SE AO: MongoDB
O servidor MongoDB no Azure Cosmos DB está disponível no pacote do NuGet MongoDB.
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 um banco de dados
No Azure Cosmos DB, um banco de dados é análogo a um namespace. Quando você cria um banco de dados, o nome do banco de dados forma um segmento do URI usado para acessar o recurso de banco de dados e todos os recursos filho.
Depois de criado, o URI de um banco de dados estará nesse formato:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>
Criar uma instância de banco de dados
Você pode usar a MongoClient
para obter uma instância de um banco de dados ou criar uma se ela ainda não existir. A classe MongoDatabase
dá acesso a coleções e seus documentos.
O snippet de código a seguir cria um novo banco de dados inserindo um documento em uma coleção. Lembre-se de que o banco de dados não será criado até que seja necessário para esse tipo de operação.
var client = new MongoClient(Environment.GetEnvironmentVariable("MONGO_CONNECTION"));
client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").InsertOne(new BsonDocument() { { "Name", "surfboard" } });
Obter banco de dados existente
Você também pode recuperar um banco de dados existente pelo nome usando o método GetDatabase
para acessar suas coleções e documentos.
var collections = client.GetDatabase("adventureworks").ListCollectionNames();
Console.WriteLine($"The database has {collections.ToList().Count} collection.");
Obter uma lista de todos os bancos de dados
Você pode recuperar uma lista de todos os bancos de dados no servidor usando o MongoClient
.
var dbFindList = client.ListDatabaseNames().ToList();
Essa técnica pode ser usada para verificar se já existe um banco de dados.
var dbFound = dbFindList.FirstOrDefault(x => x == "adventureworks");
if (dbFound is not null)
{
Console.WriteLine($"{dbFound} database found");
}
else
{
Console.WriteLine($"{dbFound} database not found.");
}
Remover um banco de dados
Um banco de dados é removido do servidor usando o método DropDatabase
na classe DB.
client.DropDatabase("adventureworks");