Aracılığıyla paylaş


.NET kullanarak MongoDB veritabanını yönetme

ŞUNLAR IÇIN GEÇERLIDIR: MongoDB

Azure Cosmos DB'deki MongoDB sunucunuz MongoDB NuGet paketinden kullanılabilir.

Not

Örnek kod parçacıkları GitHub'da .NET projesi olarak kullanılabilir.

MongoDB için API başvuru belgeleri | MongoDB Paketi (NuGet)

Veritabanını adlandırma

Azure Cosmos DB'de veritabanı bir ad alanına benzer. Veritabanı oluşturduğunuzda, veritabanı adı veritabanı kaynağına ve alt kaynaklara erişmek için kullanılan URI'nin bir kesimini oluşturur.

Oluşturulduktan sonra, bir veritabanının URI'si şu biçimdedir:

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>

Veritabanı örneği oluşturma

bir veritabanının örneğini almak için öğesini kullanabilir MongoClient veya henüz yoksa bir veritabanı oluşturabilirsiniz. sınıfı koleksiyonlara MongoDatabase ve belgelerine erişim sağlar.

Aşağıdaki kod parçacığı, bir koleksiyona belge ekleyerek yeni bir veritabanı oluşturur. Bu tür bir işlem için gerekli olana kadar veritabanının oluşturulmayacağını unutmayın.

var client = new MongoClient(Environment.GetEnvironmentVariable("MONGO_CONNECTION"));

client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").InsertOne(new BsonDocument() { { "Name", "surfboard" } });

Var olan bir veritabanını alma

Ayrıca, koleksiyonlarına ve belgelerine erişmek için yöntemini kullanarak GetDatabase mevcut veritabanını ada göre de alabilirsiniz.

var collections = client.GetDatabase("adventureworks").ListCollectionNames();
Console.WriteLine($"The database has {collections.ToList().Count} collection.");

Tüm veritabanlarının listesini alma

kullanarak MongoClientsunucudaki tüm veritabanlarının listesini alabilirsiniz.

var dbFindList = client.ListDatabaseNames().ToList();

Bu teknik daha sonra bir veritabanının zaten var olup olmadığını denetlemek için kullanılabilir.

var dbFound = dbFindList.FirstOrDefault(x => x == "adventureworks");
if (dbFound is not null)
{
    Console.WriteLine($"{dbFound} database found");
}
else
{
    Console.WriteLine($"{dbFound} database not found.");
}

Veritabanını bırakma

Veritabanı, DB sınıfındaki yöntemi kullanılarak DropDatabase sunucudan kaldırılır.

client.DropDatabase("adventureworks");

Ayrıca bkz.