sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB deleteMany()

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.


  1. Är dokumentorienterade databaser tänkta att ersätta relationsdatabaser?

  2. Varför en 500MB Redis dump.rdb-fil tar ungefär 5,0GB minne?

  3. Hur använder man MongoDB-transaktioner med Mongoose?

  4. Finns det ett sätt att automatiskt upptäcka ny klusternod IP i Redis Cluster med sallad