Mulai cepat: Menggunakan Azure Cosmos DB untuk MongoDB (RU) dengan .NET
Dalam mulai cepat ini, Anda menyebarkan aplikasi Azure Cosmos DB for MongoDB dasar menggunakan Python. Azure Cosmos DB for MongoDB adalah penyimpanan data tanpa skema yang memungkinkan aplikasi menyimpan dokumen yang tidak terstruktur di cloud dengan pustaka MongoDB. Anda mempelajari cara membuat dokumen dan melakukan tugas dasar dalam sumber daya Azure Cosmos DB Anda menggunakan Python.
Paket kode | sumber pustaka (NuGet) | Azure Developer CLI
Prasyarat
- Azure Developer CLI
- Desktop Docker
- .NET SDK 9.0
Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.
Menginisialisasi proyek
Gunakan Azure Developer CLI (azd
) untuk membuat akun Azure Cosmos DB for Table dan menyebarkan aplikasi sampel kontainer. Aplikasi sampel menggunakan pustaka klien untuk mengelola, membuat, membaca, dan mengkueri data sampel.
Buka terminal di direktori kosong.
Jika Anda belum diautentikasi, autentikasi ke Azure Developer CLI menggunakan
azd auth login
. Ikuti langkah-langkah yang ditentukan oleh alat untuk mengautentikasi ke CLI menggunakan kredensial Azure pilihan Anda.azd auth login
Gunakan
azd init
untuk menginisialisasi proyek.azd init --template cosmos-db-mongodb-dotnet-quickstart
Selama inisialisasi, konfigurasikan nama lingkungan yang unik.
Sebarkan akun Azure Cosmos DB menggunakan
azd up
. Templat Bicep juga menyebarkan aplikasi web sampel.azd up
Selama proses provisi, pilih langganan Anda, lokasi yang diinginkan, dan grup sumber daya target. Tunggu hingga proses provisi selesai. Prosesnya dapat memakan waktu sekitar lima menit.
Setelah provisi sumber daya Azure Anda selesai, URL ke aplikasi web yang sedang berjalan disertakan dalam output.
Deploying services (azd deploy) (✓) Done: Deploying service web - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io> SUCCESS: Your application was provisioned and deployed to Azure in 5 minutes 0 seconds.
Gunakan URL di konsol untuk menavigasi ke aplikasi web Anda di browser. Amati output aplikasi yang sedang berjalan.
Memasang pustaka klien
Pustaka klien tersedia melalui NuGet, sebagai MongoDB.Driver
paket.
Buka terminal dan navigasi ke
/src/web
folder .cd ./src/web
Jika belum diinstal, instal
MongoDB.Driver
paket menggunakandotnet add package
.dotnet add package MongoDB.Driver
Buka dan tinjau file src/web/Microsoft.Samples.Cosmos.MongoDB.Quickstart.Web.csproj untuk memvalidasi bahwa entri tersebut
MongoDB.Driver
ada.
Model objek
Nama | Deskripsi |
---|---|
MongoClient |
Jenis yang digunakan untuk menyambungkan ke MongoDB. |
Database |
Mewakili database di akun. |
Collection |
Mewakili koleksi dalam database di akun. |
Contoh kode
- Autentikasi klien
- Mendapatkan database
- Mendapatkan koleksi
- Membuat dokumen
- Mendapatkan dokumen
- Dokumen kueri
Kode sampel dalam templat menggunakan database bernama cosmicworks
dan koleksi bernama products
. Koleksi products
berisi detail seperti nama, kategori, kuantitas, dan pengidentifikasi unik untuk setiap produk. Koleksi menggunakan /category
properti sebagai kunci shard.
Mengautentikasi klien
Sampel ini membuat instans MongoClient
baru kelas.
string connectionString = "<azure-cosmos-db-for-mongodb-connection-string>";
MongoClient client = new(connectionString);
Mendapatkan database
Sampel ini membuat instans IMongoDatabase
antarmuka menggunakan GetDatabase
metode MongoClient
kelas .
IMongoDatabase database = client.GetDatabase("<database-name>");
Mendapatkan koleksi
Sampel ini membuat instans antarmuka generik IMongoCollection<>
menggunakan GetCollection<>
metode IMongoDatabase
generik antarmuka. Antarmuka dan metode generik keduanya menggunakan jenis bernama Product
yang ditentukan di kelas lain.
IMongoCollection<Product> collection = database.GetCollection<Product>("<collection-name>");
public record Product(
string id,
string category,
string name,
int quantity,
decimal price,
bool clearance
);
Buat dokumen
Buat dokumen dalam koleksi menggunakan collection.ReplaceOneAsync<>
dengan parameter jenis generik Product
. Metode ini "upsert" item secara efektif mengganti item jika sudah ada.
Product document = new(
id: "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
category: "gear-surf-surfboards",
name: "Yamba Surfboard",
quantity: 12,
price: 850.00m,
clearance: false
);
await collection.ReplaceOneAsync<Product>(
d => d.id == document.id,
document,
new ReplaceOptions { IsUpsert = true }
);
Baca dokumen
Lakukan operasi baca titik dengan menggunakan bidang pengidentifikasi unik (id
) dan kunci shard. Gunakan collection.FindAsync<>
dengan parameter jenis generik Product
untuk mengambil item tertentu secara efisien.
IAsyncCursor<Product> documents = await collection.FindAsync<Product>(
d => d.id == "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" && d.category == "gear-surf-surfboards"
);
Product? document = await documents.SingleOrDefaultAsync();
Meminta dokumen
Lakukan kueri atas beberapa item dalam kontainer menggunakan collection.AsQueryable()
dan kueri terintegrasi bahasa (LINQ). Kueri ini menemukan semua item dalam kategori tertentu (kunci shard).
IQueryable<Product> documents = collection.AsQueryable().Where(
d => d.category == "gear-surf-surfboards"
);
foreach (Product document in await documents.ToListAsync())
{
// Do something with each item
}
Jelajahi sampel Anda
Gunakan ekstensi Visual Studio Code untuk Azure Cosmos DB untuk menjelajahi data MongoDB Anda. Anda dapat melakukan operasi database inti termasuk, tetapi tidak terbatas pada:
- Melakukan kueri menggunakan scrapbook atau editor kueri
- Memodifikasi, memperbarui, membuat, dan menghapus dokumen
- Mengimpor data massal dari sumber lain
- Mengelola database dan koleksi
Untuk informasi selengkapnya, lihat Cara menggunakan ekstensi Visual Studio Code untuk menjelajahi data Azure Cosmos DB for MongoDB.
Membersihkan sumber daya
Saat Anda tidak lagi memerlukan aplikasi sampel atau sumber daya, hapus penyebaran dan semua sumber daya yang sesuai.
azd down