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

MongoDB-এ প্রজেকশন দিয়ে একক কলাম রিটার্ন করা

MongoDB-এ find() মেথডের দ্বিতীয় আর্গুমেন্ট (প্রজেকশন) ব্যবহার করে শুধু নির্দিষ্ট কলাম বা ফিল্ড রিটার্ন করা যায়। 1 মানে ইনক্লুড, 0 মানে এক্সক্লুড।

নমুনা কালেকশন তৈরি

> db.demo216.insertOne({ "ClientName": "John", "ClientAge": 34 });
{ "acknowledged": true, "insertedId": ObjectId("5e3e351003d395bdc213470c") }

> db.demo216.insertOne({ "ClientName": "Bob", "ClientAge": 32 });
{ "acknowledged": true, "insertedId": ObjectId("5e3e351703d395bdc213470d") }

> db.demo216.insertOne({ "ClientName": "Mike", "ClientAge": 35 });
{ "acknowledged": true, "insertedId": ObjectId("5e3e351c03d395bdc213470e") }

সমস্ত ডকুমেন্ট দেখানো

> db.demo216.find();

আউটপুট:

{ "_id": ObjectId("5e3e351003d395bdc213470c"), "ClientName": "John", "ClientAge": 34 }
{ "_id": ObjectId("5e3e351703d395bdc213470d"), "ClientName": "Bob", "ClientAge": 32 }
{ "_id": ObjectId("5e3e351c03d395bdc213470e"), "ClientName": "Mike", "ClientAge": 35 }

শুধু ClientName কলাম প্রজেক্ট করা

> db.demo216.find({}, { _id: 0, "ClientAge": 0 });

ফলাফল

{ "ClientName": "John" }
{ "ClientName": "Bob" }
{ "ClientName": "Mike" }

ব্যাখ্যা:

  • {} - কোনো ফিল্টার নেই (সব ডকুমেন্ট)।
  • { _id: 0, "ClientAge": 0 } - _id এবং ClientAge এক্সক্লুড করা হয়েছে। বাকি সব ফিল্ড (এখানে শুধু ClientName) ইনক্লুড হবে।
  • আপনি { ClientName: 1, _id: 0 } লিখলেও একই ফলাফল পাবেন (ইনক্লুড মোড)।

নোট: ইনক্লুড এবং এক্সক্লুড মিক্স করা যায় না

MongoDB-এ প্রজেকশনে _id বাদ দিয়ে আপনি বা সব ফিল্ড 1 (ইনক্লুড) করবেন, বা সব ফিল্ড 0 (এক্সক্লুড) করবেন। মিক্স করলে এরর হবে (যেমন { ClientName: 1, ClientAge: 0 } - এরর)। _id এক্সক্লুড করা সবসময় অনুমোদিত।

  1. MongoDB-এ নির্দিষ্ট নেস্টেড প্রপার্টিতে প্রজেকশন

  2. MongoDB-তে এক গ্রুপে টোটাল অ্যাগরিগেট করা

  3. MongoDB-এ কালেকশনের ডকুমেন্ট সংখ্যা গণনা করা (count)

  4. MongoDB এগ্রিগেশন ও প্রজেকশন: $project স্টেজ ব্যবহার