$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 का नाम बदलना
> db.renameIdDemo.aggregate({
$project: {
_id: 0, // मूल _id बाहर करें
mainId: "$_id", // नया फ़ील्ड mainId में _id मान निर्दिष्ट करें
count: 1, // अन्य फ़ील्ड शामिल करें (यदि मौजूद)
sum: 1
}
});
आउटपुट:
व्याख्या:
_id: 0मूल _id फ़ील्ड को दबा देता है।mainId: "$_id"_idके मान को लेकर एक नया फ़ील्डmainIdबनाता है।- यह
$groupचरण के बाद _id (जो ग्रुपिंग कुंजी होती है) का नाम बदलने के लिए विशेष रूप से उपयोगी है।