V MongoDB db.collection.deleteMany()
metoda odstraní všechny dokumenty, které odpovídají filter
ze sbírky. Jinými slovy, odstraní je.
collection
část je název kolekce, ze které se mají dokumenty odstranit.
Smazat všechny dokumenty
V tomto příkladu odstraníme všechny dokumenty z kolekce nazvané employees
:
db.employees.deleteMany({})
Výsledek:
{ "acknowledged" : true, "deletedCount" : 5 }
Výsledek nám ukazuje, že bylo odstraněno pět dokumentů.
Odebrat vybrané dokumenty
V tomto příkladu odstraníme pouze některé dokumenty.
Nejprve znovu vyplňte sbírku našich zaměstnanců:
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 }
])
Nyní smažeme všechny zaměstnance, kteří vydělávají více než 80 000 ročně.
db.employees.deleteMany({ "salary": { $gt: 80000 } })
Výsledek:
{ "acknowledged" : true, "deletedCount" : 2 }
Tentokrát byly odstraněny pouze dva dokumenty.
Pojďme se podívat na sbírku.
db.employees.find()
Výsledek:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 3, "name" : "Fritz", "salary" : 25000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 }
Podle očekávání ze společnosti odešli dva nejlépe vydělávající lidé.
Smazat jeden dokument
Pokud potřebujete odstranit konkrétní dokument, můžete zadat _id
dokumentu hodnotu (nebo nějakou jinou hodnotu jedinečnou pro daný dokument), chcete-li tento konkrétní dokument odstranit.
Pokud bychom tedy chtěli Fritze z výše uvedené sbírky odstranit, mohli bychom zadat jeho _id
hodnotu 3
. Takhle:
db.employees.deleteMany({ "_id": 3 })
Výsledek:
{ "acknowledged" : true, "deletedCount" : 1 }
Podívejme se znovu na sbírku:
db.employees.find()
Výsledek:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 } { "_id" : 4, "name" : "Chris", "salary" : 45000 }
Jak se očekávalo, Fritz nyní zmizel.
Další informace
db.collection.deleteMany()
metoda také přijímá volitelné parametry, jako je collation
, hint
a writeConcern
.
Další informace naleznete v dokumentaci MongoDB.