Elimina Node.js MongoDB
Elimina documento
Per eliminare un record, o un documento come viene chiamato in MongoDB, utilizziamo il
deleteOne()
metodo.
Il primo parametro del deleteOne()
metodo è un oggetto query che definisce quale documento eliminare.
Nota: se la query trova più di un documento, viene eliminata solo la prima occorrenza.
Esempio
Elimina il documento con l'indirizzo "Monte 21":
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
var myquery = { address: 'Mountain 21' };
dbo.collection("customers").deleteOne(myquery, function(err, obj) {
if (err) throw err;
console.log("1
document deleted");
db.close();
});
});
Salva il codice sopra in un file chiamato "demo_delete.js" ed esegui il file:
Esegui "demo_delete.js"
C:\Users\Your Name>node demo_delete.js
Che ti darà questo risultato:
1 document deleted
Elimina molti
Per eliminare più di un documento, utilizzare il
deleteMany()
metodo.
Il primo parametro del deleteMany()
metodo è un oggetto query che definisce quali documenti eliminare.
Esempio
Elimina tutti i documenti in cui l'indirizzo inizia con la lettera "O":
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
var myquery = { address: /^O/ };
dbo.collection("customers").deleteMany(myquery, function(err, obj) {
if (err) throw err;
console.log(obj.result.n + "
document(s) deleted");
db.close();
});
});
Salva il codice sopra in un file chiamato "demo_delete_many.js" ed esegui il file:
Esegui "demo_delete_many.js"
C:\Users\Your Name>node demo_delete_many.js
Che ti darà questo risultato:
2 document(s) deleted
L'oggetto risultato
Il deleteMany()
metodo restituisce un oggetto che contiene informazioni su come l'esecuzione ha influenzato il database.
La maggior parte delle informazioni non è importante da capire, ma un oggetto all'interno dell'oggetto è chiamato "risultato" che ci dice se l'esecuzione è andata bene e quanti documenti sono stati interessati.
L'oggetto risultato è simile a questo:
{ n: 2, ok: 1 }
È possibile utilizzare questo oggetto per restituire il numero di documenti eliminati:
Esempio
Restituisci il numero di documenti eliminati:
console.log(obj.result.n);
Che produrrà questo risultato:
2