MongoDB-এ অ্যারের প্রথম এলিমেন্ট (ইনডেক্স ০) এর ফিল্ড অনুযায়ী ডকুমেন্ট খুঁজতে ডট নোটেশন ব্যবহার করা হয়।
নমুনা ডেটা তৈরি করা
matchingFirstItemInTheArrayDemo কালেকশনে তিনটি ডকুমেন্ট ইনসার্ট করি যাতে ClientDetails অ্যারেতে প্রতিটি এলিমেন্টে ClientName এবং ClientAge থাকে।
> db.matchingFirstItemInTheArrayDemo.insertOne(
{ "ClientDetails": [ { "ClientName": "Larry", "ClientAge": 28 } ] }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7a5d26d78f205348bc636") }
> db.matchingFirstItemInTheArrayDemo.insertOne(
{ "ClientDetails": [ { "ClientName": "Chris", "ClientAge": 56 } ] }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7a5f56d78f205348bc637") }
> db.matchingFirstItemInTheArrayDemo.insertOne(
{ "ClientDetails": [ { "ClientName": "Robert", "ClientAge": 46 } ] }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7a6076d78f205348bc638") }
সকল ডকুমেন্ট দেখানো
> db.matchingFirstItemInTheArrayDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cd7a5d26d78f205348bc636"), "ClientDetails" : [ { "ClientName" : "Larry", "ClientAge" : 28 } ] }
{ "_id" : ObjectId("5cd7a5f56d78f205348bc637"), "ClientDetails" : [ { "ClientName" : "Chris", "ClientAge" : 56 } ] }
{ "_id" : ObjectId("5cd7a6076d78f205348bc638"), "ClientDetails" : [ { "ClientName" : "Robert", "ClientAge" : 46 } ] }
অ্যারের প্রথম আইটেম ম্যাচ করে খুঁজা
ClientDetails.0.ClientName দিয়ে প্রথম এলিমেন্টের ClientName "Chris" হলে খুঁজি:
> db.matchingFirstItemInTheArrayDemo.find({ "ClientDetails.0.ClientName": "Chris" });
আউটপুট:
{ "_id" : ObjectId("5cd7a5f56d78f205348bc637"), "ClientDetails" : [ { "ClientName" : "Chris", "ClientAge" : 56 } ] }
নোট: MongoDB-এ অ্যারে ইনডেক্স ০-ভিত্তিক। ClientDetails.0 মানে প্রথম এলিমেন্ট। আপনি যেকোনো ইনডেক্স ব্যবহার করতে পারেন (যেমন ClientDetails.2.ClientName)।