$eq (Igual a)
Última atualização: 2026-10-09
$eq (Igual a)
$eq é a comparação de igualdade em forma de expressão, recebendo dois argumentos e retornando um booleano. Ela roda em contextos de expressão como $project ou $expr dentro de $match, e difere do operador de consulta: consultas escrevem { field: { $eq: value } } enquanto expressões escrevem { $eq: [expr1, expr2] }. É usado para comparar campos entre si ou para alimentar condições de $cond. As comparações seguem a ordem de tipos BSON, e null é igual a null.
| Categoria | Conjunto, Condição e Conversão |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $eq: [ <expressão1>, <expressão2> ] }
⚙️ Parâmetros
| expressão 1 | A primeira expressão a comparar. |
|---|---|
| expressão 2 | A segunda expressão a comparar. |
Retorno:true quando os valores são iguais, caso contrário false
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $eq: verificar frete grátis
db.orders.aggregate([
{ $project: {
freeShip: { $eq: ['$shipCost', 0] }
} }
])
Saída:
{ '_id': 1, 'freeShip': true }
{ '_id': 2, 'freeShip': false }
📌 Notas
- O contexto de expressão usa a forma de array; o contexto de consulta usa campo mais valor
- null comparado com null retorna true
- Comparações seguem a ordem de tipos BSON
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QComo a sintaxe de $eq difere entre expressões e consultas?
AConsultas escrevem { field: { $eq: value } }; expressões escrevem { $eq: [expr1, expr2] }.
QComo $eq compara null?
Anull é igual a null e difere de todos os outros tipos.
QO $eq consegue comparar arrays?
ASim, elemento por elemento; ordem diferente significa não igual.