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.