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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *