Mongodb: so finden sie den maximalwert in einer sammlung
Sie können die folgenden Methoden verwenden, um den Maximalwert eines Felds in MongoDB zu ermitteln:
Methode 1: Geben Sie ein Dokument zurück, das den Maximalwert enthält
db.teams.find().sort({" field ": -1 }).limit( 1 )
Dieser Codeabschnitt sortiert alle Dokumente in der Sammlung in absteigender Reihenfolge basierend auf einem bestimmten Feld und gibt dann nur das erste Dokument zurück.
Methode 2: Nur den Maximalwert zurückgeben
db.teams.find().sort({" field ": -1 }).limit( 1 ).toArray().map(function(u){ return u.field})
Die folgenden Beispiele zeigen, wie die einzelnen Methoden mit einem Inkassoteam mit den folgenden Dokumenten verwendet werden:
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 })
Beispiel 1: Geben Sie ein Dokument zurück, das einen Maximalwert enthält
Mit dem folgenden Code können wir das Dokument zurückgeben, das den Maximalwert im Feld „Punkte“ enthält:
db.teams.find().sort({" points ": -1 }).limit( 1 )
Diese Abfrage gibt das folgende Dokument zurück:
{ _id: ObjectId("618285361a42e92ac9ccd2c6"), team: 'Cavs', position: 'Guard', points: 33 }
Dieses Dokument wird zurückgegeben, da es unter allen Dokumenten den höchsten Wert (33) im Feld „Punkte“ enthält.
Beispiel 2: Nur den Maximalwert zurückgeben
Wir können den folgenden Code verwenden, um bei allen Dokumenten nur den Maximalwert im Feld „Punkte“ zurückzugeben:
db.teams.find().sort({" points ": -1 }).limit( 1 ).toArray().map(function(u){ return u.points})
Diese Abfrage gibt das folgende Ergebnis zurück:
[33]
Beachten Sie, dass nur der Maximalwert selbst (33) zurückgegeben wird und nicht das gesamte Dokument, das den Maximalwert enthält.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in MongoDB ausführen:
MongoDB: So gruppieren und zählen
MongoDB: So gruppieren Sie nach mehreren Feldern
MongoDB: So überprüfen Sie, ob das Feld eine Zeichenfolge enthält