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

MongoDB-এ অ্যারে এলিমেন্টস সহ নির্দিষ্ট ডকুমেন্ট ফেচ করা

MongoDB-এ নির্দিষ্ট ডকুমেন্ট ফেচ করতে find() মেথডে ডট নোটেশন ব্যবহার করুন। প্রথমে ডকুমেন্টসহ একটি কালেকশন তৈরি করা যাক:

> db.demo672.insertOne({Brand:[{CategoryName:"Mobile","Name":"Oppo"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea3ea9b04263e90dac943e5") }
> db.demo672.insertOne({Brand:[{CategoryName:"Mobile","Name":"Samsung"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea3eaa404263e90dac943e6") }
> db.demo672.insertOne({Brand:[{CategoryName:"Mobile","Name":"OnePlus"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea3eacc04263e90dac943e7") }

find() মেথড দিয়ে কালেকশন থেকে সকল ডকুমেন্ট প্রদর্শন করুন:

> db.demo672.find();

আউটপুট:

{ "_id" : ObjectId("5ea3ea9b04263e90dac943e5"), "Brand" : [ { "CategoryName" : "Mobile", "Name" : "Oppo" } ] }
{ "_id" : ObjectId("5ea3eaa404263e90dac943e6"), "Brand" : [ { "CategoryName" : "Mobile", "Name" : "Samsung" } ] }
{ "_id" : ObjectId("5ea3eacc04263e90dac943e7"), "Brand" : [ { "CategoryName" : "Mobile", "Name" : "OnePlus" } ] }

নির্দিষ্ট ডকুমেন্ট ফেচ করার কোয়েরি (যেখানে Brand.Name হলো "OnePlus"):

> db.demo672.find({"Brand.Name":"OnePlus"});

আউটপুট:

{ "_id" : ObjectId("5ea3eacc04263e90dac943e7"), "Brand" : [ { "CategoryName" : "Mobile", "Name" : "OnePlus" } ] }

ব্যাখ্যা

MongoDB-এ নেস্টেড অ্যারে বা অবজেক্টের ফিল্ড কোয়েরি করার সময় ডট নোটেশন (যেমন "Brand.Name") ব্যবহার করা হয়। এটি অ্যারের ভেতরের প্রতিটি অবজেক্টের Name ফিল্ড চেক করে এবং মিল পেলে সেই ডকুমেন্টটি রিটার্ন করে।

  1. MongoDB-এ নির্দিষ্ট অ্যারে এলিমেন্ট সমाहিত ডকুমেন্ট খোঁজা ($all অপারেটর)

  2. MongoDB Aggregation-এ নির্দিষ্ট ফিল্ড মান অনুযায়ী ডকুমেন্ট ফিল্টার করা

  3. MongoDB-এ এমবেডেড ডকুমেন্টের অ্যারে ফিল্টার করা (৩ লেভেল)

  4. MongoDB-এ অ্যারে কোয়েরি করে নির্দিষ্ট ভ্যালু ফেচ করা