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