Node.js MongoDB löschen


Dokument löschen

Um einen Datensatz oder ein Dokument, wie es in MongoDB genannt wird, zu löschen, verwenden wir die deleteOne()Methode.

Der erste Parameter der deleteOne()Methode ist ein Abfrageobjekt, das definiert, welches Dokument gelöscht werden soll.

Hinweis: Wenn die Abfrage mehr als ein Dokument findet, wird nur das erste Vorkommen gelöscht.

Beispiel

Löschen Sie das Dokument mit der Adresse "Berg 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();
  });
});

Speichern Sie den obigen Code in einer Datei namens "demo_delete.js" und führen Sie die Datei aus:

Führen Sie "demo_delete.js" aus

C:\Users\Your Name>node demo_delete.js

Was Ihnen dieses Ergebnis geben wird:

1 document deleted


Viele löschen

Um mehr als ein Dokument zu löschen, verwenden Sie die deleteMany()Methode.

Der erste Parameter der deleteMany()Methode ist ein Abfrageobjekt, das definiert, welche Dokumente gelöscht werden sollen.

Beispiel

Löschen Sie alle Dokumente, deren Adresse mit dem Buchstaben „O“ beginnt:

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();
  });
});

Speichern Sie den obigen Code in einer Datei namens "demo_delete_many.js" und führen Sie die Datei aus:

Führen Sie "demo_delete_many.js" aus

C:\Users\Your Name>node demo_delete_many.js

Was Ihnen dieses Ergebnis geben wird:

2 document(s) deleted

Das Ergebnisobjekt

Die deleteMany()Methode gibt ein Objekt zurück, das Informationen darüber enthält, wie sich die Ausführung auf die Datenbank ausgewirkt hat.

Die meisten Informationen sind nicht wichtig zu verstehen, aber ein Objekt innerhalb des Objekts heißt "Ergebnis", das uns sagt, ob die Ausführung in Ordnung war und wie viele Dokumente betroffen waren.

Das Ergebnisobjekt sieht folgendermaßen aus:

{ n: 2, ok: 1 }

Mit diesem Objekt können Sie die Anzahl der gelöschten Dokumente zurückgeben:

Beispiel

Geben Sie die Anzahl der gelöschten Dokumente zurück:

console.log(obj.result.n);

Was zu diesem Ergebnis führen wird:

2