MongoDB – Queries com operadores
No MongoDB, é possível fazer consultas usando operadores para filtrar e manipular seus dados. Hoje vamos falar sobre os operadores de comparação “maior que”, “menor que”, “maior ou igual” e “menor ou igual”.
Maior que:
A sintaxe desse operador é:
db.collection.find({ campo: { $gt: valor } });
Um exemplo seria:
db.cars.find({ preco: { $gt: 50000} });
Nessa consulta, o resultado será todos os carros com o preço maior que 50000.
[
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832ee5"
},
"marca": "HONDA",
"modelo": "CIVIC",
"ano_fabricacao": 2015,
"ano_modelo": 2016,
"cor": "Prata",
"preco": 60000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832ee6"
},
"marca": "HONDA",
"modelo": "Civic",
"ano_fabricacao": 2018,
"ano_modelo": 2018,
"cor": "Branco",
"preco": 80000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832eeb"
},
"marca": "FIAT",
"modelo": "TORO",
"ano_fabricacao": 2020,
"ano_modelo": 2020,
"cor": "Preto",
"preco": 90000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832eec"
},
"marca": "FIAT",
"modelo": "TORO",
"ano_fabricacao": 2019,
"ano_modelo": 2020,
"cor": "Prata",
"preco": 80000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832eee"
},
"marca": "VW",
"modelo": "POLO",
"ano_fabricacao": 2020,
"ano_modelo": 2020,
"cor": "Branco",
"preco": 60000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832eef"
},
"marca": "VW",
"modelo": "GOLF",
"ano_fabricacao": 2019,
"ano_modelo": 2019,
"cor": "Prata",
"preco": 90000
}
]
Maior ou igual:
A sintaxe desse operador é:
db.collection.find({ campo: { $gte: valor } });
Um exemplo:
db.cars.find({ preco: { $gte: 60000}});
Nessa consulta, o resultado será todos os produtos com o preço maior ou igual a 60000.
[
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832ee5"
},
"marca": "HONDA",
"modelo": "CIVIC",
"ano_fabricacao": 2015,
"ano_modelo": 2016,
"cor": "Prata",
"preco": 60000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832ee6"
},
"marca": "HONDA",
"modelo": "Civic",
"ano_fabricacao": 2018,
"ano_modelo": 2018,
"cor": "Branco",
"preco": 80000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832eeb"
},
"marca": "FIAT",
"modelo": "TORO",
"ano_fabricacao": 2020,
"ano_modelo": 2020,
"cor": "Preto",
"preco": 90000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832eec"
},
"marca": "FIAT",
"modelo": "TORO",
"ano_fabricacao": 2019,
"ano_modelo": 2020,
"cor": "Prata",
"preco": 80000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832eee"
},
"marca": "VW",
"modelo": "POLO",
"ano_fabricacao": 2020,
"ano_modelo": 2020,
"cor": "Branco",
"preco": 60000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832eef"
},
"marca": "VW",
"modelo": "GOLF",
"ano_fabricacao": 2019,
"ano_modelo": 2019,
"cor": "Prata",
"preco": 90000
}
]
Menor que:
A sintaxe desse operador é:
db.collection.find({ campo: { $lt: valor } });
Um exemplo:
db.cars.find({ preco: { $lt: 60000}});
Nessa consulta, o resultado será todos os valores menores que 60000.
[
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832ee7"
},
"marca": "HONDA",
"modelo": "FIT",
"ano_fabricacao": 2019,
"ano_modelo": 2019,
"cor": "Branco",
"preco": 50000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832ee8"
},
"marca": "FIAT",
"modelo": "UNO",
"ano_fabricacao": 2000,
"ano_modelo": 2001,
"cor": "Preto",
"preco": 10000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832ee9"
},
"marca": "FIAT",
"modelo": "PALIO",
"ano_fabricacao": 2006,
"ano_modelo": 2007,
"cor": "Prata",
"preco": 11000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832eea"
},
"marca": "FIAT",
"modelo": "STRADA",
"ano_fabricacao": 2018,
"ano_modelo": 2018,
"cor": "Branco",
"preco": 40000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832eed"
},
"marca": "VW",
"modelo": "GOL",
"ano_fabricacao": 2012,
"ano_modelo": 2012,
"cor": "Preto",
"preco": 20000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832ef0"
},
"marca": "VW",
"modelo": "GOL",
"ano_fabricacao": 2003,
"ano_modelo": 2003,
"cor": "Branco",
"preco": 10000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832ef1"
},
"marca": "FORD",
"modelo": "FIESTA",
"ano_fabricacao": 2005,
"ano_modelo": 2006,
"cor": "Prata",
"preco": 11000
}
]
Menor ou igual:
A sintaxe desse operador é:
db.collection.find({ campo: { $lte: valor } });
Um exemplo:
db.cars.find({ preco: { $lte: 60000} });
Nessa consulta, o resultado será todos os valores menores ou iguais a 60000.
[
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832ee5"
},
"marca": "HONDA",
"modelo": "CIVIC",
"ano_fabricacao": 2015,
"ano_modelo": 2016,
"cor": "Prata",
"preco": 60000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832ee7"
},
"marca": "HONDA",
"modelo": "FIT",
"ano_fabricacao": 2019,
"ano_modelo": 2019,
"cor": "Branco",
"preco": 50000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832ee8"
},
"marca": "FIAT",
"modelo": "UNO",
"ano_fabricacao": 2000,
"ano_modelo": 2001,
"cor": "Preto",
"preco": 10000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832ee9"
},
"marca": "FIAT",
"modelo": "PALIO",
"ano_fabricacao": 2006,
"ano_modelo": 2007,
"cor": "Prata",
"preco": 11000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832eea"
},
"marca": "FIAT",
"modelo": "STRADA",
"ano_fabricacao": 2018,
"ano_modelo": 2018,
"cor": "Branco",
"preco": 40000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832eed"
},
"marca": "VW",
"modelo": "GOL",
"ano_fabricacao": 2012,
"ano_modelo": 2012,
"cor": "Preto",
"preco": 20000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832eee"
},
"marca": "VW",
"modelo": "POLO",
"ano_fabricacao": 2020,
"ano_modelo": 2020,
"cor": "Branco",
"preco": 60000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832ef0"
},
"marca": "VW",
"modelo": "GOL",
"ano_fabricacao": 2003,
"ano_modelo": 2003,
"cor": "Branco",
"preco": 10000
},
{
"_id": {
"$oid": "64b011b9c0ffc4fcc6832ef1"
},
"marca": "FORD",
"modelo": "FIESTA",
"ano_fabricacao": 2005,
"ano_modelo": 2006,
"cor": "Prata",
"preco": 11000
}
]
Também podemos usar os dois operadores juntos:
db.cars.find({"preco": {"$gte": 50000, "$lt": 80000}}, {"_id":0});
Nessa consulta, o resultado será todos os carros com preço entre 50000 e 80000 (incluindo o 50000, mas excluindo o 80000).
[
{
"marca": "HONDA",
"modelo": "CIVIC",
"ano_fabricacao": 2015,
"ano_modelo": 2016,
"cor": "Prata",
"preco": 60000
},
{
"marca": "HONDA",
"modelo": "FIT",
"ano_fabricacao": 2019,
"ano_modelo": 2019,
"cor": "Branco",
"preco": 50000
},
{
"marca": "VW",
"modelo": "POLO",
"ano_fabricacao": 2020,
"ano_modelo": 2020,
"cor": "Branco",
"preco": 60000
}
]
Vale lembrar que usamos {“_id”:0} ocultar esse valor no resultado da query, você pode ler mais sobre isso aqui.
Caso deseje ver os mesmos resultadosclique aqui.
Esses operadores são úteis para realizar consultas mais específicas e personalizadas no MongoDB.