W MongoDB db.collection.deleteMany()
metoda usuwa wszystkie dokumenty, które pasują do filter
z kolekcji. Innymi słowy, usuwa je.
collection
część to nazwa kolekcji, z której mają zostać usunięte dokumenty.
Usuń wszystkie dokumenty
W tym przykładzie usuwamy wszystkie dokumenty z kolekcji o nazwie employees
:
db.employees.deleteMany({})
Wynik:
{ "acknowledged" : true, "deletedCount" : 5 }
Wynik pokazuje, że usunięto pięć dokumentów.
Usuń wybrane dokumenty
W tym przykładzie usuwamy tylko niektóre dokumenty.
Najpierw ponownie wypełnijmy kolekcję naszych pracowników:
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 }
])
Teraz usuńmy wszystkich pracowników, którzy zarabiają więcej niż 80 000 rocznie.
db.employees.deleteMany({ "salary": { $gt: 80000 } })
Wynik:
{ "acknowledged" : true, "deletedCount" : 2 }
Tym razem tylko dwa dokumenty zostały usunięte.
Przyjrzyjmy się kolekcji.
db.employees.find()
Wynik:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 }
Zgodnie z oczekiwaniami, dwóch najlepiej zarabiających odeszło z firmy.
Usuń jeden dokument
Jeśli chcesz usunąć określony dokument, możesz określić jego _id
wartość (lub inną wartość unikalną dla tego dokumentu), aby usunąć ten konkretny dokument.
Jeśli więc chcielibyśmy usunąć Fritza z powyższej kolekcji, moglibyśmy określić jego _id
wartość 3
. Tak:
db.employees.deleteMany({ "_id": 3 })
Wynik:
{ "acknowledged" : true, "deletedCount" : 1 }
Sprawdźmy jeszcze raz kolekcję:
db.employees.find()
Wynik:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 }
Zgodnie z oczekiwaniami Fritz zniknął.
Więcej informacji
db.collection.deleteMany()
metoda akceptuje również parametry opcjonalne, takie jak collation
, hint
i writeConcern
.
Więcej informacji znajdziesz w dokumentacji MongoDB.