$all (Contém Todos)

Última atualização: 2026-10-09

$all (Contém Todos)

$all corresponde a documentos cujo campo de array contém todos os elementos do array fornecido. `{ tags: { $all: ['mongodb', 'database'] } }` exige que tags inclua ambos os valores, em qualquer ordem. Diferente de $in (qualquer correspondência), $all exige todos os valores — ideal para filtragem de tags obrigatórias.

CategoriaArray
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ <campo>: { $all: [ <valor1>, <valor2>, ... ] } }

⚙️ Parâmetros

campoO campo de matriz a corresponder.
array de valoresA lista de valores que devem estar todos presentes.

Retorno:Cursor dos documentos correspondentes

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// $all: tags inclui tanto mongodb quanto database
db.articles.find({ tags: { $all: ['mongodb', 'database'] } })

// $in para comparação: corresponde a qualquer tag
db.articles.find({ tags: { $in: ['mongodb', 'database'] } })

Saída:

// A primeira consulta exige ambas as tags; a segunda corresponde a qualquer uma

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é a diferença entre $all e $in?
A$in corresponde se qualquer valor aparecer; $all exige que todos os valores listados estejam presentes.
Q$all funciona em campos não-array?
AEm campos não-array, $all se comporta como $eq (comparação de valor único).
QO que acontece com um array $all vazio?
A$all: [] corresponde a todos os documentos, incluindo os que não têm o campo.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%