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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert