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

เป็นไปได้ไหมที่จะเปลี่ยนชื่อฟิลด์ _id หลังจากการรวมกลุ่ม MongoDB?


ใช่ เป็นไปได้ที่จะเปลี่ยนชื่อโดยใช้การรวม ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน

> db.renameIdDemo.insertOne({"StudentName":"Chris"});{ "acknowledged" :true, "insertedId" :ObjectId("5c9a1760353decbc2fc927c5")}> db.renameIdDemo.insertOne({"StudentName" :"Robert"});{ "acknowledged" :true, "insertedId" :ObjectId("5c9a1765353decbc2fc927c6")}> db.renameIdDemo.insertOne({"StudentName":"David"});{ "acknowledged" :จริง "insertedId" :ObjectId("5c9a176b353decbc2fc927c7")}

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

> db.renameIdDemo.find();

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

{ "_id" :ObjectId("5c9a1760353decbc2fc927c5"), "StudentName" :"Chris" }{ "_id" :ObjectId("5c9a1765353decbc2fc927c6"), "StudentName" :"Robert" }{ "_id" :ObjectId() "5c9a176b353decbc2fc927c7"), "StudentName" :"David" }

ต่อไปนี้เป็นแบบสอบถามเพื่อเปลี่ยนชื่อฟิลด์ _id:

> db.renameIdDemo.aggregate({ $project:{... _id:0,... mainId:"$_id",... count:1,... sum:1... }. .. }... );

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

{ "mainId" :ObjectId("5c9a1760353decbc2fc927c5") }{ "mainId" :ObjectId("5c9a1765353decbc2fc927c6") }{ "mainId" :ObjectId("5c9a176b353decbc2fc927c7")