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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *