Mongodb: jak policzyć różne wartości w polu


Możesz użyć następujących metod, aby zliczyć różne wartości w określonym polu w MongoDB:

Metoda 1: Znajdź listę różnych wartości

 db.collection.distinct( 'field_name' )

Metoda 2: Znajdź liczbę różnych wartości

 db.collection.distinct( 'field_name' ).length

Poniższe przykłady pokazują, jak używać każdej metody w przypadku zespołu zbierającego z następującymi dokumentami:

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Rockets ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })

Przykład 1: Znajdź listę różnych wartości

Możemy użyć poniższego kodu, aby znaleźć listę odrębnych wartości w polu „zespół”:

 db.teams.distinct( 'team' )

To zapytanie zwraca następujący wynik:

 ['Cavs', 'Mavs', 'Rockets']

Wynik pokazuje trzy różne nazwy zespołów we wszystkich dokumentach.

Możemy również użyć poniższego kodu, aby znaleźć listę odrębnych wartości w polu „pozycja”:

 db.teams.distinct( 'position' )

To zapytanie zwraca następujący wynik:

 ['Center', 'Forward', 'Guard']

Uwaga : MongoDB domyślnie sortuje różne wartości alfabetycznie.

Przykład 2: Znajdź liczbę unikalnych wartości

Możemy użyć poniższego kodu, aby policzyć liczbę odrębnych wartości w polu „zespół”:

 db.teams.distinct( 'team' ).length

To zapytanie zwraca następujący wynik:

 3

To mówi nam, że w polu „zespół” znajdują się 3 różne wartości.

Możemy także użyć poniższego kodu do zliczenia ilości unikalnych wartości w polu „punkty”:

 db.teams.distinct( 'points' ).length

To zapytanie zwraca następujący wynik:

 5

To mówi nam, że w polu „punkty” znajduje się 5 różnych wartości.

Uwaga : Pełną dokumentację tej oddzielnej funkcji można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w MongoDB:

MongoDB: Jak grupować i liczyć
MongoDB: Jak grupować według wielu pól
MongoDB: Jak znaleźć maksymalną wartość w kolekcji

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *