Mongodb: so verwenden sie „größer als“ und „kleiner als“ in abfragen


Sie können in MongoDB die folgenden Operatoren verwenden, um nach oben oder unten abzufragen:

  • $lt : Weniger als
  • $lte : Kleiner oder gleich
  • $gt : Größer als
  • $gte : Größer als oder gleich

Die folgenden Methoden zeigen gängige Möglichkeiten zur Verwendung dieser Operatoren:

Methode 1: Größer als Abfrage

 db.myCollection.find({field1: { $gt : 25 }})

Methode 2: Weniger als Abfrage

 db.myCollection.find({field1: { $lt : 25 }})

Methode 3: Abfrage größer als und kleiner als

 db.myCollection.find({field1: { $gt : 25 , $lt : 32 }})

Methode 4: Abfrage größer oder kleiner als

 db.myCollection.find({ " $or ": [ {" field1 ": { $gt : 30 }}, {" field1 ": { $lt : 20 }} ] })

Die folgenden Beispiele zeigen, wie die einzelnen Methoden in der Praxis mit einem Inkassoteam mit den folgenden Dokumenten angewendet werden:

 db.teams.insertOne({team: " Mavs ", points: 31})
db.teams.insertOne({team: " Spurs ", points: 22})
db.teams.insertOne({team: " Rockets ", points: 19})
db.teams.insertOne({team: " Warriors ", points: 26})
db.teams.insertOne({team: " Cavs ", points: 33})

Beispiel 1: Abfrage größer als

Der folgende Code zeigt, wie alle Dokumente abgefragt werden, deren Wert im Feld „Punkte“ größer als 25 ist:

 db.teams.find({points: { $gt : 25 }})

Diese Abfrage gibt die folgenden Dokumente zurück:

 { _id: ObjectId("6203e4a91e95a9885e1e764f"),
  team: 'Mavs',
  points: 31 }
{ _id: ObjectId("6203e4a91e95a9885e1e7652"),
  team: 'Warriors',
  points: 26 }
{ _id: ObjectId("6203e4a91e95a9885e1e7653"),
  team: 'Cavs',
  points: 33 }

Beachten Sie, dass jedes der drei Ausgabedokumente einen Wert im Feld „Punkte“ von mehr als 25 aufweist.

Beispiel 2: Abfrage kleiner als

Der folgende Code zeigt, wie alle Dokumente abgefragt werden, deren Wert im Feld „Punkte“ kleiner als 25 ist:

 db.teams.find({points: { $lt : 25 }})

Diese Abfrage gibt die folgenden Dokumente zurück:

 { _id: ObjectId("6203e4a91e95a9885e1e7650"),
  team: 'Spurs',
  points: 22 }
{ _id: ObjectId("6203e4a91e95a9885e1e7651"),
  team: 'Rockets',
  points: 19 }

Beachten Sie, dass beide Ausgabedokumente einen Wert im Feld „Punkte“ von weniger als 25 haben.

Beispiel 3: Größer als und kleiner als

Der folgende Code zeigt, wie alle Dokumente abgefragt werden, deren Wert im Feld „Punkte“ größer als 25 und kleiner als 32 ist:

 db.teams.find({points: { $gt : 25 , $lt : 32 }})

Diese Abfrage gibt die folgenden Dokumente zurück:

 { _id: ObjectId("6203e4a91e95a9885e1e764f"),
  team: 'Mavs',
  points: 31 }
{ _id: ObjectId("6203e4a91e95a9885e1e7652"),
  team: 'Warriors',
  points: 26 }

Beachten Sie, dass beide Ausgabedokumente einen Wert im Feld „Punkte“ haben, der größer als 25 und kleiner als 32 ist.

Beispiel 4: Größer als oder Kleiner als

Der folgende Code zeigt, wie alle Dokumente abgefragt werden, deren Wert im Feld „Punkte“ größer als 30 oder kleiner als 20 ist:

 db.teams.find({ " $or ": [ {" points ": { $gt : 30 }}, {" points ": { $lt : 20 }} ] })

Diese Abfrage gibt die folgenden Dokumente zurück:

 { _id: ObjectId("6203e4a91e95a9885e1e764f"),
  team: 'Mavs',
  points: 31 }
{ _id: ObjectId("6203e4a91e95a9885e1e7651"),
  team: 'Rockets',
  points: 19 }
{ _id: ObjectId("6203e4a91e95a9885e1e7653"),
  team: 'Cavs',
  points: 33 }

Beachten Sie, dass jedes der Ausgabedokumente einen Wert im Feld „Punkte“ aufweist, der größer als 30 oder kleiner als 20 ist.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in MongoDB ausführen:

MongoDB: So fragen Sie mit einem Datumsbereich ab
MongoDB: So verwenden Sie eine „NO IN“-Abfrage
MongoDB: So suchen Sie in einem bestimmten Feld nach „nicht null“.

Einen Kommentar hinzufügen

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