是否可以在 MongoDB 分組聚合之後重新命名 _id 欄位?
可以,可以使用聚合重新命名。我們首先使用文件建立一個集合
> 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" : true, "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") }
廣告