ใช่ เป็นไปได้ที่จะเปลี่ยนชื่อโดยใช้การรวม ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน
> 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")