Mongodb: hoe verschillende waarden in een veld te tellen
U kunt de volgende methoden gebruiken om verschillende waarden in een specifiek veld in MongoDB te tellen:
Methode 1: Zoek een lijst met verschillende waarden
db.collection.distinct( 'field_name' )
Methode 2: Vind het aantal verschillende waarden
db.collection.distinct( 'field_name' ).length
De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken met een incassoteam met de volgende documenten:
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 })
Voorbeeld 1: Zoek een lijst met verschillende waarden
We kunnen de volgende code gebruiken om een lijst met verschillende waarden te vinden in het veld ‚team‘:
db.teams.distinct( 'team' )
Deze query retourneert het volgende resultaat:
['Cavs', 'Mavs', 'Rockets']
Het resultaat toont de drie verschillende teamnamen van alle documenten.
We kunnen ook de volgende code gebruiken om een lijst met verschillende waarden te vinden in het veld ‚positie‘:
db.teams.distinct( 'position' )
Deze query retourneert het volgende resultaat:
['Center', 'Forward', 'Guard']
Opmerking : MongoDB sorteert verschillende waarden standaard alfabetisch.
Voorbeeld 2: Zoek het aantal unieke waarden
We kunnen de volgende code gebruiken om het aantal verschillende waarden in het veld ‘team’ te tellen:
db.teams.distinct( 'team' ).length
Deze query retourneert het volgende resultaat:
3
Dit vertelt ons dat er 3 verschillende waarden zijn in het veld ‘team’.
We kunnen ook de volgende code gebruiken om het aantal unieke waarden in het veld “punten” te tellen:
db.teams.distinct( 'points' ).length
Deze query retourneert het volgende resultaat:
5
Dit vertelt ons dat er 5 verschillende waarden zijn in het veld “punten”.
Let op : De volledige documentatie voor de afzonderlijke functie vindt u hier .
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in MongoDB kunt uitvoeren:
MongoDB: Groeperen op en tellen
MongoDB: groeperen op meerdere velden
MongoDB: hoe u de maximale waarde in een verzameling kunt vinden