Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
komutu distinct , belirli bir alanın benzersiz değerlerini tek bir koleksiyonda bulmak için kullanılır. Bu komut, tüm belgeleri almadan bir alan için ayrı değerler kümesini tanımlamanız gerektiğinde veya benzersiz değerlere göre filtreleme veya gruplandırma gibi işlemler gerçekleştirmeniz gerektiğinde kullanışlıdır.
Sözdizimi
Komutun distinct temel söz dizimi aşağıdaki gibidir:
db.collection.distinct(field, query, options)
-
field: Döndürülen ayrı değerleri alan alan. -
query: İsteğe bağlı. Ayrı değerlerin alındığı belgeleri belirten sorgu. -
options: İsteğe bağlı. Komutun diğer seçenekleri.
Örnekler
Aşağıda, sağlanan örnek JSON yapısını kullanan örnekler verilmiştir.
Örnek 1: Satışlarda ayrı kategoriler bulma
Dizideki salesByCategory ayrıyı categoryName bulmak için:
db.stores.distinct("sales.salesByCategory.categoryName")
Örnek çıkış verisi
[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
]
Örnek 2: Yükseltme olaylarında farklı olay adlarını bulma
Dizideki promotionEvents ayrıyı eventName bulmak için:
db.stores.distinct("promotionEvents.eventName")
Örnek çıkış verisi
[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 }
]
}
]
Örnek 3: Belirli bir olay için ayrı indirim yüzdeleri bulma
"Summer Sale" olayının discounts dizisindeki ayrıyı discountPercentage bulmak için:
db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })
Örnek çıkış verisi
[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
]
İlgili içerik
- MongoDB'den Azure DocumentDB'ye Geçiş seçeneklerini gözden geçirme
- MongoDB ile özellik uyumluluğu hakkında daha fazla bilgi edinin