deleteMany() (Excluir Vários Documentos)

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

deleteMany() (Excluir Vários Documentos)

deleteMany() remove todos os documentos que corresponderem a um filtro e retorna deletedCount. É o cavalo de batalha para limpezas em massa, como purgar logs obsoletos ou desativar usuários. Atenção: um filtro vazio {} esvazia a coleção inteira, então verifique o filtro antes de executar. A exclusão é irreversível — para operações arriscadas, avalie primeiro o impacto com `db.users.countDocuments({ status: 'expired' })`.

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

📝 Sintaxe

db.<collection>.deleteMany(<filter>, { writeConcern: <options> })

⚙️ Parâmetros

filtroPredicado que corresponde aos documentos a excluir; {} vazio exclui todos.
writeConcernOpcional. Write concern.

Retorno:DeleteResult: { acknowledged, deletedCount }.

▶ Exemplo

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

// deleteMany: exclui todos os usuários com menos de 18 anos
db.users.deleteMany({ age: { $lt: 18 } })

Saída:

{ acknowledged: true, deletedCount: 5 }

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QO que acontece se deleteMany receber um filtro vazio?
AUm filtro vazio {} corresponde a tudo e exclui a coleção inteira — evite isso por acidente.
QQual é a diferença entre deleteMany e drop?
AdeleteMany() remove documentos mas mantém a coleção e os índices; drop() remove a própria coleção, incluindo índices e metadados.
QComo sei quantos documentos o deleteMany removeu?
ALeia deletedCount do resultado: const r = db.users.deleteMany({status: 'del'}); r.deletedCount.
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%