Mongodb: come utilizzare maggiore di e minore di nelle query


Puoi utilizzare i seguenti operatori in MongoDB per eseguire query verso l’alto o verso il basso:

  • $lt : Meno di
  • $lte : minore o uguale
  • $gt : maggiore di
  • $gte : maggiore o uguale

I seguenti metodi mostrano modi comuni per utilizzare questi operatori:

Metodo 1: Maggiore della query

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

Metodo 2: meno di una query

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

Metodo 3: query maggiore di e minore di

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

Metodo 4: query maggiore o minore di

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

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con un team di recupero con i seguenti documenti:

 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})

Esempio 1: query maggiore di

Il codice seguente mostra come interrogare tutti i documenti il cui valore nel campo “punti” è maggiore di 25:

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

Questa query restituisce i seguenti documenti:

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

Da notare che ognuno dei tre documenti di output ha un valore nel campo “punti” maggiore di 25.

Esempio 2: interrogare meno di

Il codice seguente mostra come interrogare tutti i documenti il cui valore nel campo “punti” è inferiore a 25:

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

Questa query restituisce i seguenti documenti:

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

Tieni presente che entrambi i documenti di output hanno un valore nel campo “punti” inferiore a 25.

Esempio 3: Maggiore di e minore di

Il codice seguente mostra come interrogare tutti i documenti il cui valore nel campo “punti” è maggiore di 25 e minore di 32:

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

Questa query restituisce i seguenti documenti:

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

Da notare che entrambi i documenti di output hanno un valore nel campo “punti” maggiore di 25 e minore di 32.

Esempio 4: Maggiore o Minore di

Il codice seguente mostra come interrogare tutti i documenti il cui valore nel campo “punti” è maggiore di 30 o minore di 20:

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

Questa query restituisce i seguenti documenti:

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

Tieni presente che ciascuno dei documenti di output ha un valore nel campo “punti” maggiore di 30 o minore di 20.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni in MongoDB:

MongoDB: come eseguire query con un intervallo di date
MongoDB: come utilizzare una query “NO IN”.
MongoDB: come cercare “not null” in un campo specifico

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *