Operadores
Operadores relacionais
Os operadores relacionais são os operadores $lt, $lte, $gt, $gte, $eq, $in, $nin.
$eq
O operador $eq verifica se um campo é igual a um determinado valor.
Sintaxe:
{ <field>: { $eq: <value> } }
Exemplo:
db.produtos.find( { qty: { $eq: 20 } } )
Neste exemplo, verificamos se na coleção produtos, existem produtos cuja quantidade seja igual a 20.
$gt
O operador $gt verifica se um campo é maior que um determinado valor.
Sintaxe:
{ <field>: { $gt: <value> } }
Exemplo:
db.produtos.find( { qty: { $gt: 20 } } )
Neste exemplo, verificamos se na coleção produtos, existem produtos cuja quantidade seja maior que 20.
$gte
O operador $gte verifica se um campo é maior que um determinado valor.
Sintaxe:
{ <field>: { $gte: <value> } }
Exemplo:
db.produtos.find( { qty: { $gte: 20 } } )
Neste exemplo, verificamos se na coleção produtos, existem produtos cuja quantidade seja maior ou igual a 20.
$lt
O operador $lt verifica se um campo é menor que um determinado valor.
Sintaxe:
{ <field>: { $lt: <value> } }
Exemplo:
db.produtos.find( { qty: { $lt: 20 } } )
Neste exemplo, verificamos se na coleção produtos, existem produtos cuja quantidade seja menor que 20.
$lte
O operador $lte verifica se um campo é menor ou igual a um determinado valor.
Sintaxe:
{ <field>: { $lte: <value> } }
Exemplo:
db.produtos.find( { qty: { $lte: 20 } } )
Neste exemplo, verificamos se na coleção produtos, existem produtos cuja quantidade seja menor ou igual a 20.
$in
O operador $in retorna os documentos em que um campo que corresponda a determinados valores especificados num array.
Sintaxe:
{ field: { $in: [<value1>, <value2>, … <valueN> ] } }
Exemplo:
db.produtos.find({ "qty": { $in: [30, 15]}})
Neste exemplo, verificamos se na coleção produtos, existem produtos cuja quantidade seja igual a 30 ou 15.
$nin
O operador $in retorna os documentos em que um campo não corresponda a nenhum dos valores especificados num array.
Sintaxe:
{ field: { $nin: [<value1>, <value2>, … <valueN> ] } }
Exemplo:
db.produtos.find({ "qty": { $nin: [30, 15]}})
Neste exemplo, verificamos se na coleção produtos, existem produtos cuja quantidade seja diferente de 30 ou 15.
Operadores lógicos
Os operadores lógicos são os operadores $and, $or, $not e $nor.
$and
O operador $and seleciona documentos onde todas as condições especificadas são satisfeitas.
Sintaxe:
{ $and: [ { condição 1}, { condição 2}, …, {condição n}] }
Exemplo:
db.produtos.find({
$and: [
{ stock: { $lt: 15 } },
{ preco: 10 }
]
})
Neste exemplo, retorna documentos onde o stock < 15 e o preço = 10
$or
Op operador $or seleciona documentos onde pelo menos uma condição é satisfeita.
Sintaxe:
{ $or: [ { condição 1}, { condição 2}, …, {condição n}] }
Exemplo:
db.produtos.find({
$or: [
{ stock: { $lt: 15 } },
{ preco: 10 }
]
})
Neste exemplo, retorna documentos onde o stock < 15 ou o preço = 10
$nor
O operador $nor seleciona documentos que não satisfazem nenhuma das condições especificadas.
Sintaxe:
{ $nor: [ { condição 1}, { condição 2}, …, {condição n}] }
Exemplo:
db.produtos.find({
$nor: [
{ stock: { $lt: 15 } },
{ preco: 10 }
]
})
Neste exemplo, retorna documentos onde o stock não é < 15 e o preço é diferente de 10
$not
O operador $not seleciona documentos que não satisfazem uma expressão específica.
Sintaxe:
{ campo: { $not: { expressão}} }
Exemplo:
db.collection.find({
idade: { $not: { $gt: 20 } }
})
Este exemplo retorna documentos onde o campo idade é menor ou igual a 20.
