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

Einen Kommentar hinzufügen

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