Bagikan melalui


Mengelola database MongoDB menggunakan .NET

BERLAKU UNTUK: MongoDB

Server MongoDB Anda di Azure Cosmos DB tersedia dari paket MongoDB NuGet.

Catatan

Contoh cuplikan kode tersedia di GitHub sebagai proyek .NET.

API untuk dokumentasi | referensi MongoDB Paket MongoDB (NuGet)

Memberi nama database

Di Azure Cosmos DB, database dianalogikan dengan namespace layanan. Saat Anda membuat database, nama database membentuk segmen URI yang digunakan untuk mengakses sumber daya database dan sumber daya turunan apa pun.

Setelah dibuat, URI untuk database berada dalam format ini:

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

Membuat instans database

Anda dapat menggunakan MongoClient untuk mendapatkan instans database, atau membuatnya jika belum ada. Kelas MongoDatabase menyediakan akses ke koleksi dan dokumennya.

Cuplikan kode berikut membuat database baru dengan menyisipkan dokumen ke dalam koleksi. Ingat, database tidak akan dibuat sampai diperlukan untuk jenis operasi ini.

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

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

Dapatkan database yang ada

Anda juga dapat mengambil database yang ada berdasarkan nama menggunakan metode GetDatabase untuk mengakses koleksi dan dokumennya.

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

Mendapatkan daftar semua database

Anda dapat mengambil daftar semua database di server menggunakan MongoClient.

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

Teknik ini kemudian dapat digunakan untuk memeriksa apakah database sudah ada.

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

Letakkan Database

Database dihapus dari server menggunakan metode DropDatabase pada kelas DB.

client.DropDatabase("adventureworks");

Lihat juga