MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB deleteMany()

In MongoDB il db.collection.deleteMany() rimuove tutti i documenti che corrispondono al filter da una collezione. In altre parole, li cancella.

La collection part è il nome della collezione da cui rimuovere i documenti.

Elimina tutti i documenti

In questo esempio, eliminiamo tutti i documenti da una raccolta denominata employees :

db.employees.deleteMany({})

Risultato:

{ "acknowledged" : true, "deletedCount" : 5 }

Il risultato ci mostra che sono stati rimossi cinque documenti.

Rimuovi documenti selezionati

In questo esempio, rimuoviamo solo alcuni documenti.

Per prima cosa, popola nuovamente la nostra raccolta dei dipendenti:

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 }
    ])

Ora eliminiamo tutti i dipendenti che guadagnano più di 80.000 all'anno.

db.employees.deleteMany({ "salary": { $gt: 80000 } })

Risultato:

{ "acknowledged" : true, "deletedCount" : 2 }

Questa volta sono stati cancellati solo due documenti.

Diamo un'occhiata alla collezione.

db.employees.find()

Risultato:

{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 4, "name" : "Chris", "salary" : 45000 }

Come previsto, i due più alti salari hanno lasciato l'azienda.

Elimina un documento

Se devi eliminare un documento specifico, puoi specificare il _id del documento valore (o qualche altro valore univoco per quel documento) per rimuovere quel documento specifico.

Quindi, se volessimo eliminare Fritz dalla raccolta di cui sopra, potremmo specificare il suo _id valore di 3 . In questo modo:

db.employees.deleteMany({ "_id": 3 })

Risultato:

{ "acknowledged" : true, "deletedCount" : 1 }

Controlliamo di nuovo la collezione:

db.employees.find()

Risultato:

{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 4, "name" : "Chris", "salary" : 45000 }

Come previsto, Fritz ora è scomparso.

Maggiori informazioni

Il db.collection.deleteMany() accetta anche parametri opzionali come collation , hint e writeConcern .

Consulta la documentazione di MongoDB per ulteriori informazioni.