Node.js MongoDB Odstranit
Smazat dokument
Pro smazání záznamu nebo dokumentu, jak se tomu říká v MongoDB, používáme
deleteOne()
metodu.
Prvním parametrem deleteOne()
metody je objekt dotazu definující, který dokument se má odstranit.
Poznámka: Pokud dotaz najde více než jeden dokument, odstraní se pouze první výskyt.
Příklad
Smažte dokument s adresou „Mountain 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();
});
});
Uložte výše uvedený kód do souboru s názvem „demo_delete.js“ a spusťte soubor:
Spusťte "demo_delete.js"
C:\Users\Your Name>node demo_delete.js
Což vám dá tento výsledek:
1 document deleted
Smazat mnoho
Chcete-li odstranit více než jeden dokument, použijte
deleteMany()
metodu.
Prvním parametrem deleteMany()
metody je objekt dotazu definující, které dokumenty se mají odstranit.
Příklad
Smažte všechny dokumenty, jejichž adresa začíná písmenem „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();
});
});
Uložte výše uvedený kód do souboru s názvem „demo_delete_many.js“ a spusťte soubor:
Spusťte "demo_delete_many.js"
C:\Users\Your Name>node demo_delete_many.js
Což vám dá tento výsledek:
2 document(s) deleted
Objekt výsledku
Metoda deleteMany()
vrací objekt, který obsahuje informace o tom, jak provedení ovlivnilo databázi.
Většině informací není důležité porozumět, ale jeden objekt uvnitř objektu se nazývá „výsledek“, který nám říká, zda provedení proběhlo v pořádku a kolik dokumentů bylo ovlivněno.
Výsledný objekt vypadá takto:
{ n: 2, ok: 1 }
Tento objekt můžete použít k vrácení počtu smazaných dokumentů:
Příklad
Vrátit počet smazaných dokumentů:
console.log(obj.result.n);
Což povede k tomuto výsledku:
2