MongoDB অগ্রিগেশন পাইপলাইনে $project স্টেজ ব্যবহার করে _id ফিল্ড বাদ দিয়ে শুধু নির্দিষ্ট ফিল্ড রিটার্ন করা যায়।
নমুনা ডেটা তৈরি করা
excludeIdDemo কালেকশনে তিনটি ডকুমেন্ট ইনসার্ট করি।
> db.excludeIdDemo.insertOne({"StudentFirstName":"John","StudentAge":21});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd701a56d78f205348bc632") }
> db.excludeIdDemo.insertOne({"StudentFirstName":"Robert","StudentAge":20});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd701af6d78f205348bc633") }
> db.excludeIdDemo.insertOne({"StudentFirstName":"Chris","StudentAge":24});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd701b86d78f205348bc634") }
সকল ডকুমেন্ট দেখানো
> db.excludeIdDemo.find();
আউটপুট:
{ "_id" : ObjectId("5cd701a56d78f205348bc632"), "StudentFirstName" : "John", "StudentAge" : 21 }
{ "_id" : ObjectId("5cd701af6d78f205348bc633"), "StudentFirstName" : "Robert", "StudentAge" : 20 }
{ "_id" : ObjectId("5cd701b86d78f205348bc634"), "StudentFirstName" : "Chris", "StudentAge" : 24 }
$project দিয়ে _id বাদ দেওয়া
_id: 0 দিয়ে বাদ দিয়ে StudentFirstName: 1 দিয়ে শুধু নাম দেখাই:
> db.excludeIdDemo.aggregate(
{ $project : { _id : 0, "StudentFirstName": 1 } }
);
আউটপুট:
{ "StudentFirstName" : "John" }
{ "StudentFirstName" : "Robert" }
{ "StudentFirstName" : "Chris" }
নোট: find({}, {_id: 0, StudentFirstName: 1}) দিয়েও একই ফলাফল পাওয়া যায়, কিন্তু অগ্রিগেশন পাইপলাইনে আরও জটিল ট্রান্সফরমেশন করা যায়।