$project স্টেজ দিয়ে রিনেম
অগ리게েশন পাইপলাইনে $project স্টেজ ব্যবহার করে _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") }
অগ리게েশন: _id -> mainId রিনেম
> db.renameIdDemo.aggregate({
$project: {
_id: 0, // মূল _id বাদ
mainId: "$_id", // নতুন ফিল্ড mainId-এ _id-এর মান
count: 1, // অন্যান্য ফিল্ড রাখা
sum: 1
}
});
আউটপুট:
{ "mainId" : ObjectId("5c9a1760353decbc2fc927c5") }
{ "mainId" : ObjectId("5c9a1765353decbc2fc927c6") }
{ "mainId" : ObjectId("5c9a176b353decbc2fc927c7") }
ব্যাখ্যা
_id: 0- মূল _id আউটপুটে_INCLUDE_ করা নয়mainId: "$_id"- নতুন ফিল্ডmainIdতৈরি করে সেটায় _id-এর মান কপি"$fieldName"- অগ리게েশনে ফিল্ড রেফারেন্সের সিনট্যাক্স
অন্য পদ্ধতি: $addFields বা $set (MongoDB 4.2+) দিয়েও করা যায়।