MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB deleteMany()


No MongoDB o db.collection.deleteMany() O método remove todos os documentos que correspondem ao filter de uma coleção. Em outras palavras, ele os exclui.

A collection parte é o nome da coleção da qual remover os documentos.

Excluir todos os documentos


Neste exemplo, excluímos todos os documentos de uma coleção chamada employees :
db.employees.deleteMany({})

Resultado:
{ "acknowledged" : true, "deletedCount" : 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 excluir todos os funcionários que ganham mais de 80.000 por ano.
db.employees.deleteMany({ "salary": { $gt: 80000 } })

Resultado:
{ "acknowledged" : true, "deletedCount" : 2 }

Desta vez, apenas dois documentos foram excluídos.

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.

Excluir um documento


Se você precisar excluir um documento específico, especifique o _id do documento valor (ou algum outro valor exclusivo para esse documento) para remover esse documento específico.

Então, se quiséssemos excluir Fritz da coleção acima, poderíamos especificar seu _id valor de 3 . Assim:
db.employees.deleteMany({ "_id": 3 })

Resultado:
{ "acknowledged" : true, "deletedCount" : 1 }

Vamos verificar 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.

Mais informações


O db.collection.deleteMany() 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.