$and (E Lógico)
Última atualização: 2026-10-09
$and (E Lógico)
$and combina vários predicados de consulta; um documento deve satisfazer todos eles. `{ $and: [ { price: { $gt: 10 } }, { inStock: true } ] }`. Vários campos em um único documento de consulta já implicam AND; $and torna a lógica explícita e é necessário para várias condições no mesmo campo.
| Categoria | Lógica |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $and: [ { <condição1> }, { <condição2> }, ... ] }
⚙️ Parâmetros
| array de condições | Uma matriz de predicados de consulta; todos devem ser verdadeiros. |
|---|
Retorno:Cursor dos documentos correspondentes
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $and: price acima de 10 e inStock true
db.products.find({
$and: [
{ price: { $gt: 10 } },
{ inStock: true }
]
})
Saída:
// Retorna produtos que satisfazem ambas as condições (o AND implícito dá o mesmo resultado)
📌 Notas
- Vários predicados de campo já implicam AND; use $and apenas quando necessário
- Várias condições no mesmo campo exigem $and
- Qualquer condição falhando exclui o documento; a ordem não importa
🏷️ Tags Relacionados
💡 Casos Relacionados
Tipos de índice e recursos avançados
Noções básicas sobre consultas a documentos: o método `find` e as projeções
Operadores de consulta: um guia completo com mais de 30 operadores
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQual é a diferença entre $and e escrever vários campos?
AFuncionalmente equivalente; $and serve para várias condições em um único campo ou para uma estrutura lógica mais clara.
QPosso escrever dois $gt no mesmo campo?
ADiretamente isso conflita (as chaves são únicas); use $and: { $and: [ { score: { $gt: 60 } }, { score: { $gt: 90 } } ] }.
QCondições dentro de $and podem aninhar $or?
ASim. Cada elemento de $and pode ser qualquer predicado, incluindo $or e $nor.