কম্পিউটার টিউটোরিয়াল

MongoDB অগ্রিগেশনে _id বাদ দিয়ে নির্দিষ্ট ফিল্ড দেখানো ($project ব্যবহার করে)

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}) দিয়েও একই ফলাফল পাওয়া যায়, কিন্তু অগ্রিগেশন পাইপলাইনে আরও জটিল ট্রান্সফরমেশন করা যায়।

  1. MongoDB-এ সর্ট এবং লিমিট দিয়ে সর্বশেষ N রেকর্ড পাবলিশ করা

  2. MongoDB-এ _id দিয়ে ডকুমেন্ট ডিলিট করা

  3. MongoDB-তে _id বাদে সব ফিল্ড দেখানো (JavaScript ফরইচ + প্রজেকশন)

  4. MongoDB-এ $project দিয়ে অ্যারে থেকে নির্দিষ্ট ফিল্ড দেখানো (অন্যান্য বাদ দিয়ে)