deleteOne() (Excluir um Único Documento)
Última atualização: 2026-10-09
deleteOne() (Excluir um Único Documento)
deleteOne() remove o primeiro documento que corresponder a um filtro; se vários corresponderem, apenas o primeiro na ordem natural é excluído. O resultado inclui deletedCount (0 ou 1). Exclusões não podem ser desfeitas, então é prudente confirmar o alvo com `db.users.findOne({ name: 'Alice' })` primeiro. É a forma mais direta de remover um único documento.
| Categoria | Escrita |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
db.<collection>.deleteOne(<filter>, { writeConcern: <options> })
⚙️ Parâmetros
| filtro | Predicado que corresponde ao documento a excluir. |
|---|---|
| writeConcern | Opcional. Write concern. |
Retorno:DeleteResult: { acknowledged, deletedCount }.
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// deleteOne: exclui o usuário chamado Alice
db.users.deleteOne({ name: 'Alice' })
Saída:
{ acknowledged: true, deletedCount: 1 }
📌 Notas
- Exclui apenas a primeira correspondência; use deleteMany() para excluir todas
- deletedCount igual a 0 significa nenhuma correspondência — não é um erro
- A exclusão é irreversível; olhe antes de excluir em produção
🏷️ Tags Relacionados
💡 Casos Relacionados
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QO deleteOne exclui todos os documentos correspondentes?
ANão, deleteOne() remove apenas a primeira correspondência. Use deleteMany() para remover todas.
QO deleteOne lança erro quando nada corresponde?
ANenhum erro — ele retorna deletedCount: 0, o que informa se o filtro correspondeu a algo.
QUm documento excluído pode ser recuperado?
ANão pela API. A exclusão é física; a recuperação depende de backups ou do oplog (replica sets), então faça backup dos dados importantes primeiro.