MongoDB ha un distinct
comando che restituisce un array di valori distinti per un campo; puoi controllare la lunghezza dell'array per un conteggio.
C'è una shell db.collection.distinct()
anche aiutante:
> db.countries.distinct('country');
[ "Spain", "England", "France", "Australia" ]
> db.countries.distinct('country').length
4
Come indicato nella documentazione di MongoDB:
I risultati non devono essere maggiori della dimensione massima di BSON (16 MB). Se i risultati superano la dimensione massima di BSON, utilizza la pipeline di aggregazione per recuperare valori distinti utilizzando il $group
operatore, come descritto in Recupera valori distinti con la pipeline di aggregazione.