Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Perintah distinct digunakan untuk menemukan nilai unik untuk bidang tertentu di satu koleksi. Perintah ini berguna ketika Anda perlu mengidentifikasi sekumpulan nilai yang berbeda untuk bidang tanpa mengambil semua dokumen atau saat Anda perlu melakukan operasi seperti pemfilteran atau pengelompokan berdasarkan nilai unik.
Syntax
Sintaks distinct dasar perintah adalah sebagai berikut:
db.collection.distinct(field, query, options)
-
field: Bidang yang menerima nilai berbeda yang dikembalikan. -
query: Opsional. Kueri yang menentukan dokumen untuk mengambil nilai yang berbeda. -
options: Opsional. Opsi lain untuk perintah .
Examples
Berikut adalah contoh menggunakan sampel struktur JSON yang disediakan.
Contoh 1: Temukan kategori berbeda dalam penjualan
Untuk menemukan perbedaan categoryName dalam salesByCategory array:
db.stores.distinct("sales.salesByCategory.categoryName")
Contoh keluaran
[mongos] StoreData> db.stores.distinct("sales.salesByCategory.categoryName")
[
{
_id: 'Discount Derby',
discounts: [
{ categoryName: 'Bath Sheets', discountPercentage: 25 },
{ categoryName: 'Tablecloths', discountPercentage: 25 },
{ categoryName: 'Drapes', discountPercentage: 25 }
]
}
]
[mongos] StoreData> db.stores.distinct("sales.salesByCategory.categoryName")
[
'Music Theory Books',
'Superfoods',
'Harmonicas',
'Garden Tools',
... 883 more items
]
Contoh 2: Temukan nama acara yang berbeda dalam acara promosi
Untuk menemukan perbedaan eventName dalam promotionEvents array:
db.stores.distinct("promotionEvents.eventName")
Contoh keluaran
[mongos] StoreData> db.stores.distinct("promotionEvents.eventName")
[
{
_id: 'Super Saver Celebration',
discounts: [
{ categoryName: 'Face Towels', discountPercentage: 25 },
{ categoryName: 'Printer Ribbons', discountPercentage: 25 },
{ categoryName: 'Chromebooks', discountPercentage: 25 }
]
}
]
Contoh 3: Temukan persentase diskon yang berbeda untuk peristiwa tertentu
Untuk menemukan discountPercentage perbedaan dalam discounts array untuk acara "Summer Sale":
db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })
Contoh keluaran
[mongos] StoreData> db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })
[
6, 17, 22, 25, 9, 15, 14,
7, 12, 19, 24, 5, 20, 10,
23, 16, 18, 21, 13, 11, 8
]
Konten terkait
- Meninjau opsi untuk Migrasi dari MongoDB ke Azure DocumentDB
- Baca selengkapnya tentang Kompatibilitas fitur dengan MongoDB