Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
APPLIES TO:
MongoDB
Important
Are you looking for a database solution for high-scale scenarios with a 99.999% availability service level agreement (SLA), instant autoscale, and automatic failover across multiple regions? Consider Azure Cosmos DB for NoSQL.
Your MongoDB server in Azure Cosmos DB is available from the MongoDB NuGet package.
Note
The example code snippets are available on GitHub as a .NET project.
API for MongoDB reference documentation | MongoDB Package (NuGet)
Name a database
In Azure Cosmos DB, a database is analogous to a namespace. When you create a database, the database name forms a segment of the URI used to access the database resource and any child resources.
Once created, the URI for a database is in this format:
https://<cosmos-account-name>.documents.azure.cn/dbs/<database-name>
Create a database instance
You can use the MongoClient to get an instance of a database, or create one if it doesn't exist already. The MongoDatabase class provides access to collections and their documents.
The following code snippet creates a new database by inserting a document into a collection. Remember, the database won't be created until it's needed for this type of operation.
var client = new MongoClient(Environment.GetEnvironmentVariable("MONGO_CONNECTION"));
client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").InsertOne(new BsonDocument() { { "Name", "surfboard" } });
Get an existing database
You can also retrieve an existing database by name using the GetDatabase method to access its collections and documents.
var collections = client.GetDatabase("adventureworks").ListCollectionNames();
Console.WriteLine($"The database has {collections.ToList().Count} collection.");
Get a list of all databases
You can retrieve a list of all the databases on the server using the MongoClient.
var dbFindList = client.ListDatabaseNames().ToList();
This technique can then be used to check if a database already exists.
var dbFound = dbFindList.FirstOrDefault(x => x == "adventureworks");
if (dbFound is not null)
{
Console.WriteLine($"{dbFound} database found");
}
else
{
Console.WriteLine($"{dbFound} database not found.");
}
Drop a database
A database is removed from the server using the DropDatabase method on the DB class.
client.DropDatabase("adventureworks");