11.5. Excluindo Documentos no MongoDB: Exclusão de Documentos com Condições
Uma das operações mais críticas em qualquer sistema de gerenciamento de banco de dados é a exclusão de documentos. No MongoDB, isso não é diferente. A exclusão de documentos é uma tarefa que deve ser realizada com muito cuidado, pois uma vez que um documento é excluído, ele não pode ser recuperado. Nesta seção, vamos discutir como excluir documentos no MongoDB com condições.
O MongoDB fornece dois métodos para excluir documentos de uma coleção: deleteOne()
e deleteMany()
. Ambos os métodos aceitam um objeto de condição como argumento. Este objeto de condição é semelhante ao que usamos na operação de busca. Ele especifica as condições que os documentos devem atender para serem excluídos.
Exclusão de Documentos com Condições usando deleteOne()
O método deleteOne()
exclui o primeiro documento que corresponde à condição especificada. Por exemplo, se quisermos excluir um documento cujo campo 'name' é 'John', podemos fazer isso da seguinte maneira:
db.collection('users').deleteOne({ name: 'John' });
Este comando excluirá o primeiro documento na coleção 'users' onde o campo 'name' é 'John'. Se houver vários documentos que atendam a essa condição, apenas o primeiro será excluído.
Exclusão de Documentos com Condições usando deleteMany()
O método deleteMany()
exclui todos os documentos que correspondem à condição especificada. Por exemplo, se quisermos excluir todos os documentos cujo campo 'age' é menor que 18, podemos fazer isso da seguinte maneira:
db.collection('users').deleteMany({ age: { $lt: 18 } });
Este comando excluirá todos os documentos na coleção 'users' onde o campo 'age' é menor que 18. Ao contrário do método deleteOne()
, o método deleteMany()
não para após excluir o primeiro documento que atende à condição. Ele continua a percorrer a coleção até que todos os documentos que atendam à condição sejam excluídos.
Exclusão de Documentos com Condições Complexas
As condições para exclusão de documentos não precisam ser simples. Podemos especificar condições complexas usando operadores lógicos e de comparação. Por exemplo, se quisermos excluir todos os documentos cujo campo 'age' é menor que 18 e cujo campo 'country' é 'USA', podemos fazer isso da seguinte maneira:
db.collection('users').deleteMany({ age: { $lt: 18 }, country: 'USA' });
Este comando excluirá todos os documentos na coleção 'users' onde o campo 'age' é menor que 18 e o campo 'country' é 'USA'. As condições são avaliadas em conjunto, o que significa que um documento deve atender a todas as condições para ser excluído.
Conclusão
A exclusão de documentos é uma operação crítica que deve ser realizada com cuidado. No MongoDB, podemos excluir documentos usando os métodos deleteOne()
e deleteMany()
, que aceitam um objeto de condição como argumento. As condições podem ser simples ou complexas, dependendo das necessidades do nosso aplicativo.