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

เปลี่ยนคีย์หลักในคอลเล็กชัน MongoDB หรือไม่


หากต้องการเปลี่ยนคีย์หลัก คุณต้องลบออกก่อน ใช้ forEach() ร่วมกับ delete เพื่อลบแล้วรับคีย์หลักใหม่ ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo41.insertOne({"StudentName":"Carol"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e25ce4acfb11e5c34d898e3")
}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo41.find();

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

{ "_id" : ObjectId("5e25ce4acfb11e5c34d898e3"), "StudentName" : "Carol" }

นี่คือแบบสอบถามเพื่อเปลี่ยนคีย์หลักในคอลเลกชัน MongoDB -

> var next = db.demo41.find()
>
> next.forEach(function(s) {
...    var prevId=s._id;
...    delete s._id;
...    db.demo41.insert(s);
...    db.demo41.remove(prevId);
... });

ให้เราตรวจสอบคีย์หลักอีกครั้ง -

> db.demo41.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้แสดงคีย์หลักใหม่ -

{ "_id" : ObjectId("5e25cee5cfb11e5c34d898e4"), "StudentName" : "Carol" }