MongoDB har en distinct
kommando som returnerar en array av distinkta värden för ett fält; du kan kontrollera längden på arrayen för en räkning.
Det finns ett skal db.collection.distinct()
hjälpare också:
> db.countries.distinct('country');
[ "Spain", "England", "France", "Australia" ]
> db.countries.distinct('country').length
4
Som noterats i MongoDB-dokumentationen:
Resultaten får inte vara större än den maximala BSON-storleken (16 MB). Om dina resultat överskrider den maximala BSON-storleken, använd aggregeringspipelinen för att hämta distinkta värden med
$group
operatör, enligt beskrivningen i Hämta distinkta värden med aggregationspipeline.