sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB deleteMany()

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.


  1. Připojení MongoDB z mobilní aplikace nebo aplikace založené na prohlížeči

  2. MongoDB Seattle 2014

  3. Jak nakonfiguruji JedisConnectionFactory pro použití SSL, aby se mi nezobrazovala chyba:JedisDataException:ERR nešifrované připojení je zakázáno?

  4. $unwind objekt v agregačním rámci