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“.