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