Aracılığıyla paylaş


distinct

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 categoryName ayrıyı salesByCategory bulmak için:

db.stores.distinct("sales.salesByCategory.categoryName")

Örnek çıkış verisi

[
  "Music Theory Books",
  "Superfoods",
  "Harmonicas",
  "Garden Tools"
]

Örnek 2: Yükseltme olaylarında farklı olay adlarını bulma

Dizideki eventName ayrıyı promotionEvents bulmak için:

db.stores.distinct("promotionEvents.eventName")

Örnek çıkış verisi

[
  "Super Saver Celebration",
  "Incredible Discount Days"
]

Örnek 3: Belirli bir olay için ayrı indirim yüzdeleri bulma

"Summer Sale" olayının discountPercentage dizisindeki ayrıyı discounts bulmak için:

db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })

Örnek çıkış verisi

[
  6, 17, 22, 25, 9, 15, 14,
  7, 12, 19, 24, 5, 20, 10,
  23, 16, 18, 21, 13, 11, 8
]