Node.js MongoDBลบ
ลบเอกสาร
ในการลบบันทึกหรือเอกสารตามที่เรียกว่า MongoDB เราใช้
deleteOne()
วิธีการ
พารามิเตอร์แรกของdeleteOne()
เมธอดคืออ็อบเจกต์การสืบค้นที่กำหนดว่าเอกสารใดที่จะลบ
หมายเหตุ:ถ้าคิวรีพบเอกสารมากกว่าหนึ่งฉบับ เฉพาะรายการแรกเท่านั้นที่จะถูกลบ
ตัวอย่าง
ลบเอกสารที่มีที่อยู่ "ภูเขา 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();
});
});
บันทึกรหัสด้านบนในไฟล์ชื่อ "demo_delete.js" และเรียกใช้ไฟล์:
เรียกใช้ "demo_delete.js"
C:\Users\Your Name>node demo_delete.js
ซึ่งจะให้ผลลัพธ์นี้แก่คุณ:
1 document deleted
ลบจำนวนมาก
หากต้องการลบเอกสารมากกว่าหนึ่งฉบับ ให้ใช้
deleteMany()
วิธีการ
พารามิเตอร์แรกของdeleteMany()
เมธอดคืออ็อบเจ็กต์การสืบค้นที่กำหนดว่าเอกสารใดที่จะลบ
ตัวอย่าง
ลบเอกสารทั้งหมดโดยที่อยู่ขึ้นต้นด้วยตัวอักษร "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();
});
});
บันทึกรหัสด้านบนในไฟล์ชื่อ "demo_delete_many.js" และเรียกใช้ไฟล์:
เรียกใช้ "demo_delete_many.js"
C:\Users\Your Name>node demo_delete_many.js
ซึ่งจะให้ผลลัพธ์นี้แก่คุณ:
2 document(s) deleted
วัตถุผลลัพธ์
deleteMany()
เมธอดส่งคืนอ็อบเจ็กต์ที่มีข้อมูลเกี่ยวกับผลกระทบต่อฐานข้อมูล
ข้อมูลส่วนใหญ่ไม่สำคัญที่จะเข้าใจ แต่วัตถุหนึ่งชิ้นภายในวัตถุเรียกว่า "ผลลัพธ์" ซึ่งจะบอกเราว่าการดำเนินการเป็นไปด้วยดีหรือไม่ และเอกสารจำนวนเท่าใดที่ได้รับผลกระทบ
วัตถุผลลัพธ์มีลักษณะดังนี้:
{ n: 2, ok: 1 }
คุณสามารถใช้วัตถุนี้เพื่อส่งคืนจำนวนเอกสารที่ถูกลบ:
ตัวอย่าง
ส่งคืนจำนวนเอกสารที่ถูกลบ:
console.log(obj.result.n);
ซึ่งจะให้ผลลัพธ์นี้:
2