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 ফিল্ড চেক করে এবং মিল পেলে সেই ডকুমেন্টটি রিটার্ন করে।