MongoDB : Comment utiliser supérieur à & Moins que dans les requêtes
Vous pouvez utiliser les opérateurs suivants dans MongoDB pour effectuer des requêtes supérieures ou inférieures :
- $lt : Moins de
- $lte : Inférieur ou égal
- $gt : Supérieur à
- $gte : Supérieur ou égal
Les méthodes suivantes montrent les manières courantes d’utiliser ces opérateurs :
Méthode 1 : supérieur à la requête
db.myCollection.find({field1: {$gt:25}})
Méthode 2 : moins que la requête
db.myCollection.find({field1: {$lt:25}})
Méthode 3 : requête supérieure et inférieure à
db.myCollection.find({field1: {$gt:25, $lt:32}})
Méthode 4 : requête supérieure ou inférieure à
db.myCollection.find({ "$or": [ {"field1": {$gt: 30}}, {"field1": {$lt: 20}} ] })
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec une équipe de collecte avec les documents suivants :
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})
Exemple 1 : requête supérieure à
Le code suivant montre comment interroger tous les documents dont la valeur dans le champ « points » est supérieure à 25 :
db.teams.find({points: {$gt:25}})
Cette requête renvoie les documents suivants :
{ _id: ObjectId("6203e4a91e95a9885e1e764f"), team: 'Mavs', points: 31 } { _id: ObjectId("6203e4a91e95a9885e1e7652"), team: 'Warriors', points: 26 } { _id: ObjectId("6203e4a91e95a9885e1e7653"), team: 'Cavs', points: 33 }
Notez que chacun des trois documents de sortie a une valeur dans le champ « points » supérieure à 25.
Exemple 2 : requête inférieure à
Le code suivant montre comment interroger tous les documents dont la valeur dans le champ « points » est inférieure à 25 :
db.teams.find({points: {$lt:25}})
Cette requête renvoie les documents suivants :
{ _id: ObjectId("6203e4a91e95a9885e1e7650"), team: 'Spurs', points: 22 } { _id: ObjectId("6203e4a91e95a9885e1e7651"), team: 'Rockets', points: 19 }
Notez que les deux documents de sortie ont une valeur dans le champ « points » inférieure à 25.
Exemple 3 : Supérieur à et inférieur à
Le code suivant montre comment interroger tous les documents dont la valeur dans le champ « points » est supérieure à 25 et inférieure à 32 :
db.teams.find({points: {$gt:25, $lt:32}})
Cette requête renvoie les documents suivants :
{ _id: ObjectId("6203e4a91e95a9885e1e764f"), team: 'Mavs', points: 31 } { _id: ObjectId("6203e4a91e95a9885e1e7652"), team: 'Warriors', points: 26 }
Notez que les deux documents de sortie ont une valeur dans le champ « points » supérieure à 25 et inférieure à 32.
Exemple 4 : Supérieur à ou Inférieur à
Le code suivant montre comment interroger tous les documents dont la valeur dans le champ « points » est supérieure à 30 ou inférieure à 20 :
db.teams.find({ "$or": [ {"points": {$gt: 30}}, {"points": {$lt: 20}} ] })
Cette requête renvoie les documents suivants :
{ _id: ObjectId("6203e4a91e95a9885e1e764f"), team: 'Mavs', points: 31 } { _id: ObjectId("6203e4a91e95a9885e1e7651"), team: 'Rockets', points: 19 } { _id: ObjectId("6203e4a91e95a9885e1e7653"), team: 'Cavs', points: 33 }
Notez que chacun des documents de sortie a une valeur dans le champ « points » supérieure à 30 ou inférieure à 20.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans MongoDB :
MongoDB : Comment interroger avec une plage de dates
MongoDB : Comment utiliser une requête « NON IN »
MongoDB : Comment rechercher « non nul » dans un champ spécifique