No MongoDB o
db.collection.remove()
O método remove documentos de uma coleção. Em outras palavras, ele os exclui. A
collection
parte é o nome da coleção da qual remover os documentos. Você pode excluir todos os documentos, alguns documentos ou um único documento conforme necessário.
Remover todos os documentos
Neste exemplo, removemos todos os documentos de uma coleção chamada
employees
:db.employees.remove({})
Resultado:
WriteResult({ "nRemoved" : 5 })
O resultado nos mostra que cinco documentos foram removidos.
Remover documentos selecionados
Neste exemplo, removemos apenas alguns documentos.
Primeiro, vamos preencher nossa coleção de funcionários novamente:
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 }
])
Agora, vamos remover todos os funcionários que ganham mais de 80.000 por ano.
db.employees.remove({ "salary": { $gt: 80000 } })
Resultado:
WriteResult({ "nRemoved" : 2 })
Desta vez, apenas dois documentos foram removidos.
Vamos dar uma olhada na coleção.
db.employees.find()
Resultado:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 }
Como esperado, os dois maiores assalariados deixaram a empresa.
Remover um documento
Existem algumas maneiras de remover um único documento de uma coleção. O método usado dependerá do que você precisa fazer.
Você também pode:
- Remover um documento específico
- Use o
justOne
parâmetro
Remover um documento específico
Se você precisar remover um documento específico, especifique o
_id
do documento valor para remover esse documento específico. Então, se quisermos remover, digamos, Fritz da coleção acima, podemos especificar seu
_id
valor de 3
. Assim:db.employees.remove({ "_id": 3 })
Resultado:
WriteResult({ "nRemoved" : 1 })
E vamos conferir a coleção novamente:
db.employees.find()
Resultado:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 }
Como esperado, Fritz agora desapareceu.
Use o justOne
Parâmetro
Você também pode usar o
justOne
parâmetro para limitar a remoção a apenas um documento. Isso exclui o primeiro documento que corresponde aos critérios de exclusão. Para demonstrar esse ponto da forma mais clara possível, vamos remover todos os documentos restantes da coleção e, em seguida, repovoá-la:
db.employees.remove({})
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 }
])
OK, então sabemos que há cinco documentos em nossa coleção.
Vamos agora usar o
justOne
parâmetro para remover um único documento. db.employees.remove({}, "justOne: true")
Resultado:
WriteResult({ "nRemoved" : 1 })
E vamos verificar a coleção para ver qual documento foi excluído.
db.employees.find()
Resultado:
{ "_id" : 2, "name" : "Sarah", "salary" : 128000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
Como esperado, o primeiro documento foi excluído.
O
justOne
parâmetro também tem outra sintaxe. Você também pode usá-lo dentro de um documento. Você precisará fazer isso se for passar outros argumentos para o método. Aqui está um exemplo.
db.employees.remove(
{},
{
justOne: true,
writeConcern: { w: "majority", wtimeout: 3000 },
collation: { locale: "de", strength: 1 }
}
)
Resultado:
WriteResult({ "nRemoved" : 1 })
E vamos dar uma olhada na coleção
db.employees.find()
Resultado:
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 } { "_id" : 5, "name" : "Beck", "salary" : 82000 }
Como esperado, o próximo documento foi excluído.
Mais informações
Consulte a documentação do MongoDB para obter mais informações.