Node.js MongoDB Usuń


Usuń dokument

Aby usunąć rekord lub dokument, jak to się nazywa w MongoDB, używamy deleteOne()metody.

Pierwszym parametrem deleteOne()metody jest obiekt zapytania definiujący dokument do usunięcia.

Uwaga: Jeśli zapytanie znajdzie więcej niż jeden dokument, usuwane jest tylko pierwsze wystąpienie.

Przykład

Usuń dokument z adresem „Góra 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();
  });
});

Zapisz powyższy kod w pliku o nazwie „demo_delete.js” i uruchom plik:

Uruchom „demo_delete.js”

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

Co da ci ten wynik:

1 document deleted


Usuń wiele

Aby usunąć więcej niż jeden dokument, użyj deleteMany()metody.

Pierwszym parametrem deleteMany()metody jest obiekt zapytania określający, które dokumenty należy usunąć.

Przykład

Usuń wszystkie dokumenty, których adres zaczyna się na literę „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();
  });
});

Zapisz powyższy kod w pliku o nazwie „demo_delete_many.js” i uruchom plik:

Uruchom „demo_delete_many.js”

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

Co da ci ten wynik:

2 document(s) deleted

Obiekt wynikowy

Metoda deleteMany()zwraca obiekt, który zawiera informacje o tym, jak wykonanie wpłynęło na bazę danych.

Większość informacji nie jest ważna do zrozumienia, ale jeden obiekt wewnątrz obiektu nazywa się „rezultatem”, który mówi nam, czy wykonanie przebiegło prawidłowo i ile dokumentów zostało naruszone.

Wynikowy obiekt wygląda tak:

{ n: 2, ok: 1 }

Możesz użyć tego obiektu, aby zwrócić liczbę usuniętych dokumentów:

Przykład

Zwróć liczbę usuniętych dokumentów:

console.log(obj.result.n);

Który przyniesie ten wynik:

2