Aggregation Pipeline में _id फील्ड छिपाना
MongoDB एग्रीगेशन में $project स्टेज का उपयोग करके _id फील्ड को आउटपुट से बाहर कर सकते हैं।
सिंटैक्स
db.yourCollectionName.aggregate(
{$project: {
_id: 0,
yourIncludeFieldName: 1,
yourIncludeFieldName: 1
}}
).pretty();
उदाहरण
> db.hideidDemo.insertOne({"UserName":"Larry","UserAge":23,"UserCountryName":"US"});
{ "acknowledged" : true, "insertedId" : ObjectId("5c92b02336de59bd9de06392") }
> db.hideidDemo.insertOne({"UserName":"Chris","UserAge":21,"UserCountryName":"AUS"});
{ "acknowledged" : true, "insertedId" : ObjectId("5c92b03036de59bd9de06393") }
> db.hideidDemo.insertOne({"UserName":"Robert","UserAge":26,"UserCountryName":"UK"});
{ "acknowledged" : true, "insertedId" : ObjectId("5c92b04036de59bd9de06394") }
सभी दस्तावेज़:
> db.hideidDemo.find().pretty();
Aggregation में _id छिपाएं
> db.hideidDemo.aggregate( {$project: { _id: 0, UserName: 1, UserCountryName: 1 }} ).pretty();मुख्य बिंदु:
_id: 0फील्ड को बाहर करता है, जबकिfieldName: 1फील्ड को शामिल करता है। आप एक ही $project में दोनों नहीं कर सकते (कम से कम एक फील्ड को स्पष्ट रूप से शामिल करना आवश्यक है)।