Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

จะอัปเดตฟิลด์ _id ใน MongoDB ได้อย่างไร


คุณไม่สามารถอัปเดตฟิลด์ _id ได้โดยตรง เช่น เขียนสคริปต์เพื่ออัปเดต ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

> db.updatingIdFieldDemo.insertOne({"StudentName":"Chris"});{ "acknowledged" :true, "insertedId" :ObjectId("5ce271bb36e8b255a5eee949")}

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -

> db.updatingIdFieldDemo.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" :ObjectId("5ce271bb36e8b255a5eee949"), "StudentName" :"Chris" }

ต่อไปนี้เป็นแบบสอบถามเพื่ออัปเดตฟิลด์ _id ใน MongoDB -

<ก่อนหน้า>> var myDocument=db.updatingIdFieldDemo.findOne({StudentName:"Chris"});> myDocument._id =101;101> db.updatingIdFieldDemo.save(myDocument);WriteResult({ "nMatched" :0, " nUpserted" :1 "nModified" :0, "_id" :101 })> db.updatingIdFieldDemo.remove({_id:ObjectId("5ce271bb36e8b255a5eee949")});WriteResult({ "nRemoved" :1 })

ให้เราตรวจสอบบันทึกอีกครั้ง -

> db.updatingIdFieldDemo.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ เราได้อัปเดต _id เรียบร้อยแล้ว -

{ "_id" :101, "StudentName" :"Chris" }