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.