I MongoDB är db.collection.deleteMany()
metod tar bort alla dokument som matchar filter
från en samling. Med andra ord, det tar bort dem.
collection
del är namnet på den samling som dokumenten ska tas bort från.
Ta bort alla dokument
I det här exemplet tar vi bort alla dokument från en samling som heter employees
:
db.employees.deleteMany({})
Resultat:
{ "acknowledged" : true, "deletedCount" : 5 }
Resultatet visar att fem dokument togs bort.
Ta bort markerade dokument
I det här exemplet tar vi bara bort vissa dokument.
Låt oss först fylla i vår personalsamling igen:
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 }
])
Låt oss nu ta bort alla anställda som tjänar mer än 80 000 per år.
db.employees.deleteMany({ "salary": { $gt: 80000 } })
Resultat:
{ "acknowledged" : true, "deletedCount" : 2 }
Denna gång raderades bara två dokument.
Låt oss ta en titt på samlingen.
db.employees.find()
Resultat:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 }
Som väntat har de två högsta löntagarna lämnat företaget.
Ta bort ett dokument
Om du behöver ta bort ett specifikt dokument kan du ange dokumentets _id
värde (eller något annat värde unikt för det dokumentet) för att ta bort det specifika dokumentet.
Så om vi ville ta bort Fritz från ovanstående samling, kunde vi specificera hans _id
värdet 3
. Så här:
db.employees.deleteMany({ "_id": 3 })
Resultat:
{ "acknowledged" : true, "deletedCount" : 1 }
Låt oss kolla in samlingen igen:
db.employees.find()
Resultat:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 }
Som väntat har Fritz nu försvunnit.
Mer information
db.collection.deleteMany()
Metoden accepterar även valfria parametrar som collation
, hint
och writeConcern
.
Se MongoDB-dokumentationen för mer information.