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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *