Mongodb: hoe u de maximale waarde in een verzameling kunt vinden
U kunt de volgende methoden gebruiken om de maximale waarde van een veld in MongoDB te vinden:
Methode 1: Retourneer een document met de maximale waarde
db.teams.find().sort({" field ": -1 }).limit( 1 )
Dit stukje code sorteert alle documenten in de collectie in aflopende volgorde op basis van een specifiek veld en retourneert vervolgens alleen het eerste document.
Methode 2: Retourneer alleen de maximale waarde
db.teams.find().sort({" field ": -1 }).limit( 1 ).toArray().map(function(u){ return u.field})
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: " Spurs ", position: " Guard ", points: 22 }) db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 }) db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 }) db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })
Voorbeeld 1: Retourneer een document met een maximale waarde
We kunnen de volgende code gebruiken om het document te retourneren dat de maximale waarde in het veld ‚punten‘ bevat:
db.teams.find().sort({" points ": -1 }).limit( 1 )
Deze query retourneert het volgende document:
{ _id: ObjectId("618285361a42e92ac9ccd2c6"), team: 'Cavs', position: 'Guard', points: 33 }
Dit document wordt geretourneerd omdat het van alle documenten de hoogste waarde (33) bevat in het veld ‚punten‘.
Voorbeeld 2: retourneer alleen de maximale waarde
We kunnen de volgende code gebruiken om alleen de maximale waarde in het veld ‚punten‘ op alle documenten terug te geven:
db.teams.find().sort({" points ": -1 }).limit( 1 ).toArray().map(function(u){ return u.points})
Deze query retourneert het volgende resultaat:
[33]
Houd er rekening mee dat alleen de maximale waarde zelf (33) wordt geretourneerd in plaats van het hele document dat de maximale waarde bevat.
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 kunt controleren of een veld een string bevat