หากต้องการแก้ไขลำดับ ให้ใช้ findAndModify() ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo261.insertOne({_id:100,Name:"Chris"});{ "acknowledged" :true, "insertedId" :100 }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo261.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" :100 "Name" :"Chris" }
ต่อไปนี้เป็นแบบสอบถามเพื่อแก้ไขลำดับ -
> db.demo262.insert({_id:"newId",sequence_value:0})WriteResult({ "nInserted" :1 })> ฟังก์ชัน getNext(sName){...... var d=db. demo262.findAndModify({... query:{_id:sName},... อัปเดต:{$inc:{sequence_value:1}},... new:true... });... return d. sequence_value;...}
ต่อไปนี้เป็นแบบสอบถามเพื่อเรียกใช้ฟังก์ชันข้างต้นเพื่อสร้างลำดับใน MongoDB -
> db.demo261.insert({... "_id":getNext("newId"),... "Name":"Chris"... })WriteResult({ "nInserted" :1 })> db.demo261.insert({ "_id":getNext("newId"), "Name":"Bob" })WriteResult({ "nInserted" :1 })
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo261.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" :100 "Name" :"Chris" }{ "_id" :1 "Name" :"Chris" }{ "_id" :2 "Name" :"Bob" }ก่อน>