Mongodb: como usar maior que e menor que em consultas
Você pode usar os seguintes operadores no MongoDB para consultar para cima ou para baixo:
- $lt : Menos que
- $lte : Menor ou igual
- $gt : Maior que
- $gte : Maior ou igual
Os métodos a seguir mostram maneiras comuns de usar esses operadores:
Método 1: maior que consulta
db.myCollection.find({field1: { $gt : 25 }})
Método 2: menos que consulta
db.myCollection.find({field1: { $lt : 25 }})
Método 3: consulta maior que e menor que
db.myCollection.find({field1: { $gt : 25 , $lt : 32 }})
Método 4: consulta maior ou menor que
db.myCollection.find({ " $or ": [ {" field1 ": { $gt : 30 }}, {" field1 ": { $lt : 20 }} ] })
Os exemplos a seguir mostram como usar cada método na prática com uma equipe de coleta com os seguintes documentos:
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})
Exemplo 1: consulta maior que
O código a seguir mostra como consultar todos os documentos cujo valor no campo “pontos” seja maior que 25:
db.teams.find({points: { $gt : 25 }})
Esta consulta retorna os seguintes documentos:
{ _id: ObjectId("6203e4a91e95a9885e1e764f"), team: 'Mavs', points: 31 } { _id: ObjectId("6203e4a91e95a9885e1e7652"), team: 'Warriors', points: 26 } { _id: ObjectId("6203e4a91e95a9885e1e7653"), team: 'Cavs', points: 33 }
Observe que cada um dos três documentos de saída possui um valor no campo “pontos” maior que 25.
Exemplo 2: Consulta menor que
O código a seguir mostra como consultar todos os documentos cujo valor no campo “pontos” seja menor que 25:
db.teams.find({points: { $lt : 25 }})
Esta consulta retorna os seguintes documentos:
{ _id: ObjectId("6203e4a91e95a9885e1e7650"), team: 'Spurs', points: 22 } { _id: ObjectId("6203e4a91e95a9885e1e7651"), team: 'Rockets', points: 19 }
Observe que ambos os documentos de saída possuem um valor no campo “pontos” menor que 25.
Exemplo 3: Maior que e menor que
O código a seguir mostra como consultar todos os documentos cujo valor no campo “pontos” seja maior que 25 e menor que 32:
db.teams.find({points: { $gt : 25 , $lt : 32 }})
Esta consulta retorna os seguintes documentos:
{ _id: ObjectId("6203e4a91e95a9885e1e764f"), team: 'Mavs', points: 31 } { _id: ObjectId("6203e4a91e95a9885e1e7652"), team: 'Warriors', points: 26 }
Observe que ambos os documentos de saída possuem um valor no campo “pontos” maior que 25 e menor que 32.
Exemplo 4: Maior que ou Menor que
O código a seguir mostra como consultar todos os documentos cujo valor no campo “pontos” seja maior que 30 ou menor que 20:
db.teams.find({ " $or ": [ {" points ": { $gt : 30 }}, {" points ": { $lt : 20 }} ] })
Esta consulta retorna os seguintes documentos:
{ _id: ObjectId("6203e4a91e95a9885e1e764f"), team: 'Mavs', points: 31 } { _id: ObjectId("6203e4a91e95a9885e1e7651"), team: 'Rockets', points: 19 } { _id: ObjectId("6203e4a91e95a9885e1e7653"), team: 'Cavs', points: 33 }
Observe que cada um dos documentos de saída possui um valor no campo “pontos” maior que 30 ou menor que 20.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns no MongoDB:
MongoDB: Como consultar com um intervalo de datas
MongoDB: Como usar uma consulta “NO IN”
MongoDB: Como procurar por “not null” em um campo específico