เพื่อดูจำนวนเอกสารที่ถูกอัปเดต ใช้ db.runCommand("getlasterror") หลังจากรันคำสั่ง update
ตัวอย่างการใช้งาน
สร้างคอลเลกชันพร้อมข้อมูล:
> db.getNumberOfUpdatedDocumentsDemo.insertOne({"StudentName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ca28c1d6304881c5ce84bad") }
> db.getNumberOfUpdatedDocumentsDemo.insertOne({"StudentName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ca28c226304881c5ce84bae") }
> db.getNumberOfUpdatedDocumentsDemo.insertOne({"StudentName":"Robert"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ca28c276304881c5ce84baf") }
> db.getNumberOfUpdatedDocumentsDemo.insertOne({"StudentName":"Ramit"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ca28c366304881c5ce84bb0") }
> db.getNumberOfUpdatedDocumentsDemo.insertOne({"StudentName":"Adam"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ca28c436304881c5ce84bb1") }
แสดงเอกสารทั้งหมด:
> db.getNumberOfUpdatedDocumentsDemo.find().pretty();
ผลลัพธ์:
อัปเดตเอกสารทั้งหมด (multi: true)
> db.getNumberOfUpdatedDocumentsDemo.update({}, {$set : {"StudentName" : "Carol"}}, true, true); WriteResult({ "nMatched" : 5, "nUpserted" : 0, "nModified" : 5 })ตรวจสอบจำนวนที่อัปเดตด้วย getlasterror
> db.runCommand( "getlasterror" );ผลลัพธ์ (n = 5 หมายถึง 5 เอกสารถูกอัปเดต):
แสดงข้อมูลหลังอัปเดต:
> db.getNumberOfUpdatedDocumentsDemo.find().pretty();ผลลัพธ์ (ทุกคนกลายเป็น Carol):
หมายเหตุ: ใน MongoDB เวอร์ชันใหม่ แนะนำให้ใช้
updateMany()ซึ่งคืนค่าผลลัพธ์โดยตรง รวมถึงmodifiedCountไม่ต้องใช้ getlasterror แล้ว