Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Polecenie distinct służy do znajdowania unikatowych wartości dla określonego pola w pojedynczej kolekcji. To polecenie jest przydatne, gdy konieczne jest zidentyfikowanie zestawu unikatowych wartości dla pola bez pobierania wszystkich dokumentów lub wykonywania operacji, takich jak filtrowanie lub grupowanie na podstawie unikatowych wartości.
Składnia
Podstawowa składnia distinct polecenia jest następująca:
db.collection.distinct(field, query, options)
-
field: pole, które odbiera zwrócone unikatowe wartości. -
query: opcjonalne. Zapytanie określające dokumenty, z których mają być pobierane odrębne wartości. -
options: opcjonalne. Inne opcje polecenia.
Przykłady
Oto przykłady użycia podanej przykładowej struktury JSON.
Przykład 1. Znajdowanie odrębnych kategorii w sprzedaży
Aby znaleźć unikatowe categoryName nazwy w tablicy salesByCategory :
db.stores.distinct("sales.salesByCategory.categoryName")
Przykładowe dane wyjściowe
[
"Music Theory Books",
"Superfoods",
"Harmonicas",
"Garden Tools"
]
Przykład 2. Znajdowanie unikatowych nazw zdarzeń w zdarzeniach podwyższania poziomu
Aby znaleźć unikatowe eventName nazwy w tablicy promotionEvents :
db.stores.distinct("promotionEvents.eventName")
Przykładowe dane wyjściowe
[
"Super Saver Celebration",
"Incredible Discount Days"
]
Przykład 3. Znajdowanie odrębnych wartości procentowych rabatu dla określonego zdarzenia
Aby znaleźć distinct discountPercentage w tablicy discounts dla zdarzenia "Summer Sale":
db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })
Przykładowe dane wyjściowe
[
6, 17, 22, 25, 9, 15, 14,
7, 12, 19, 24, 5, 20, 10,
23, 16, 18, 21, 13, 11, 8
]