No MongoDB o
db.collection.deleteOne()
O método remove um único documento de uma coleção. Em outras palavras, ele o exclui. A
collection
parte é o nome da coleção da qual remover o documento. Exemplo
Vamos preencher uma coleção chamada
employees
com cinco documentos:db.employees.insertMany([
{ _id: 1, name: "Sandy", salary: 55000 },
{ _id: 2, name: "Sarah", salary: 128000 },
{ _id: 3, name: "Fritz", salary: 25000 },
{ _id: 4, name: "Chris", salary: 45000 },
{ _id: 5, name: "Beck", salary: 82000 }
])
Vamos agora usar
db.collection.deleteOne()
para excluir um desses documentos. db.employees.deleteOne({ "_id": 4 })
Resultado:
{ "acknowledged" : true, "deletedCount" : 1 }
Este funcionário excluído número 4.
Vamos dar uma olhada na coleção para verificar.
db.employees.find()
Resultado:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 2, "name" : "Sarah", "salary" : 128000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
Podemos ver que o funcionário número 4 não existe mais na coleção.
Usando uma condição mais ampla
No exemplo anterior, usamos o
_id
campo do funcionário que queríamos excluir. Porque o _id
campo é o identificador exclusivo de cada documento, isso nos permitiu excluir o documento exato que queríamos que fosse excluído. Também é possível excluir um único documento sem ser tão preciso sobre qual deles foi excluído. Por exemplo, você pode usar um filtro amplo que retorne muitos documentos, mas exclua apenas o primeiro documento desses resultados.
Por exemplo, poderíamos filtrar por funcionários que ganham mais de 80.000 por ano e, em seguida, excluir o primeiro documento desse grupo.
db.employees.deleteOne({ "salary": { $gt: 80000 } })
Resultado:
{ "acknowledged" : true, "deletedCount" : 1 }
Neste exemplo, apenas um documento foi excluído, embora houvesse dois documentos que correspondiam aos critérios.
Podemos dar uma olhada na coleção para ver qual foi excluída.
db.employees.find()
Resultado:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
Podemos até dar um passo adiante e remover todos os filtros, o que significa que ele escolhe entre todos os documentos da coleção.
db.employees.deleteOne({})
Resultado:
{ "acknowledged" : true, "deletedCount" : 1 }
Mais uma vez, podemos verificar a coleção para ver qual foi excluída.
db.employees.find()
Resultado:
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
Como esperado, o primeiro documento foi excluído.
Mais informações
O
db.collection.deleteOne()
O método também aceita parâmetros opcionais como collation
, hint
e writeConcern
. Consulte a documentação do MongoDB para obter mais informações.