Mongodb: come contare valori distinti in un campo
Puoi utilizzare i seguenti metodi per contare valori distinti in un campo specifico in MongoDB:
Metodo 1: trova un elenco di valori distinti
db.collection.distinct( 'field_name' )
Metodo 2: Trova il numero di valori distinti
db.collection.distinct( 'field_name' ).length
I seguenti esempi mostrano come utilizzare ciascun metodo con un team di raccolta con i seguenti documenti:
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 })
Esempio 1: trovare un elenco di valori distinti
Possiamo utilizzare il seguente codice per trovare un elenco di valori distinti nel campo “team”:
db.teams.distinct( 'team' )
Questa query restituisce il seguente risultato:
['Cavs', 'Mavs', 'Rockets']
Il risultato mostra i tre nomi di team distinti di tutti i documenti.
Potremmo anche utilizzare il seguente codice per trovare un elenco di valori distinti nel campo “posizione”:
db.teams.distinct( 'position' )
Questa query restituisce il seguente risultato:
['Center', 'Forward', 'Guard']
Nota : MongoDB ordina i valori distinti in ordine alfabetico per impostazione predefinita.
Esempio 2: trovare il numero di valori univoci
Possiamo utilizzare il seguente codice per contare il numero di valori distinti nel campo “team”:
db.teams.distinct( 'team' ).length
Questa query restituisce il seguente risultato:
3
Questo ci dice che ci sono 3 valori distinti nel campo “team”.
Possiamo anche utilizzare il seguente codice per contare il numero di valori univoci nel campo “punti”:
db.teams.distinct( 'points' ).length
Questa query restituisce il seguente risultato:
5
Questo ci dice che ci sono 5 valori distinti nel campo “punti”.
Nota : qui è possibile trovare la documentazione completa per la funzione separata .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni in MongoDB:
MongoDB: come raggruppare e contare
MongoDB: come raggruppare per più campi
MongoDB: come trovare il valore massimo in una raccolta