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

MongoDB-এ অবজেক্ট কী (Object Key) হিসেবে ডট নোটেশন ব্যবহার করে ফিল্ড বের করা


MongoDB-এ নেস্টেড অবজেক্টের ফিল্ড প্রজেক্ট (Projection) করার জন্য ডট নোটেশন

MongoDB-এ একটি ডকুমেন্টের ভেতরে নেস্টেড অবজেক্ট (Embedded Document) থাকলে, find()-এর প্রজেকশন প্যারামিটারে ডট (.) নোটেশন ব্যবহার করে নির্দিষ্ট নেস্টেড ফিল্ডই দেখানো বা লুকানো যায়।

১. কালেকশন ও নেস্টেড অবজেক্ট ডেটা তৈরি

> db.demo361.insertOne({"details":{"FirstName":"Chris","LastName":"Brown"}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e56a61f54a481fef8ec7a19") }
> db.demo361.insertOne({"details":{"FirstName":"David","LastName":"Miller"}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e56a62854a481fef8ec7a1a") }
> db.demo361.insertOne({"details":{"FirstName":"John","LastName":"Doe"}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e56a63654a481fef8ec7a1b") }

২. সব ডকুমেন্ট দেখানো

> db.demo361.find();

আউটপুট:

{ "_id" : ObjectId("5e56a61f54a481fef8ec7a19"), "details" : { "FirstName" : "Chris", "LastName" : "Brown" } }
{ "_id" : ObjectId("5e56a62854a481fef8ec7a1a"), "details" : { "FirstName" : "David", "LastName" : "Miller" } }
{ "_id" : ObjectId("5e56a63654a481fef8ec7a1b"), "details" : { "FirstName" : "John", "LastName" : "Doe" } }

৩. প্রজেকশন দিয়ে শুধু details.LastName ফিল্ড দেখানো

> db.demo361.find({},{ "details.LastName": 1 });

৪. ফলাফল

ব্যাখ্যা:

  • { "details.LastName": 1 } - ডট নোটেশন দিয়ে নেস্টেড ফিল্ড প্রজেক্ট করা।
  • _id ডিফল্টরূপে আসে (বাদ দিতে {_id: 0} যোগ করুন)।
  • details.FirstName লুকানো হয়েছে।
  • এটি নেটওয়ার্ক ব্যান্ডউইডথ এবং মেমরি বাঁচায়।

সীমাবদ্ধতা: একসাথে ইনক্লুশন (1) এবং এক্সক্লুশন (0) করা যায় না (_id বাদে)।


  1. জাভাস্ক্রিপ্ট Set-এ অবজেক্ট কী সার্চ করা

  2. জাভাস্ক্রিপ্টে অ্যারেতে নেস্টেড অবজেক্ট মানগুলোর যোগফল

  3. MongoDB-তে রেফারেন্স কী হিসেবে ব্যবহার করে ম্যানুয়ালি মান যোগ করা ($push)

  4. MongoDB-এ ডISTINCT এলিমেন্টের জন্য MAX ভ্যালু বের করা