$pullAll (Remover Todos os Valores Fornecidos)
Última atualização: 2026-10-09
$pullAll (Remover Todos os Valores Fornecidos)
$pullAll remove de um array todos os elementos iguais a qualquer valor da lista fornecida. `{ $pullAll: { tags: ['spam', 'ads'] } }`. Diferente de $pull, $pullAll suporta apenas correspondência por igualdade — sem condições — mas aceita muitos valores de uma vez, enquanto $pull suporta condições (use $in dentro de $pull para vários valores).
| Categoria | Atualização de Array |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $pullAll: { <campo de array>: [ <valor1>, <valor2>, ... ] } }
⚙️ Parâmetros
| campo de array | O campo de matriz a limpar. |
|---|---|
| lista de valores | Os valores a remover; apenas correspondência por igualdade. |
Retorno:O resultado da atualização
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $pullAll: remove várias tags de uma vez
// Apenas correspondência por igualdade
db.articles.updateOne(
{ _id: 1 },
{ $pullAll: { tags: ['spam', 'ads'] } }
)
Saída:
// Todos os registros spam e ads são removidos de tags
📌 Notas
- Apenas correspondência por igualdade; sem condições
- Aceita muitos valores de uma vez, complementando $pull
- Valores ausentes são ignorados silenciosamente
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQual é a diferença entre $pullAll e $pull?
A$pullAll remove muitos valores exatos; $pull suporta condições uma por vez (use $in para muitos).
Q$pullAll suporta condições?
ANão, apenas correspondência por igualdade.
QComo removo vários valores de uma vez?
A$pullAll: { tags: ['a', 'b'] }.