MongoDB-এ নেস্টেড JSON-রূপ ডকুমেন্ট থেকে মান খুঁজে বের করতে find() মেথড সহ ডট নোটেশন (dot notation) ব্যবহার করুন।
উদাহরণ
নেস্টেড স্ট্রাকচার সহ ডকুমেন্ট তৈরি করুন:
> db.findValueFromJsonDemo.insertOne({
"UserDetails": [{
"_id": new ObjectId(),
"UserName": "Carol",
"UserMessage": "Hi"
}],
"UserFriendsName": ["John", "Sam"]
});
{ "acknowledged" : true, "insertedId" : ObjectId("5cdf8a4cbf3115999ed511fd") }
ডকুমেন্টটি দেখুন:
> db.findValueFromJsonDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cdf8a4cbf3115999ed511fd"), "UserDetails" : [ { "_id" : ObjectId("5cdf8a4cbf3115999ed511fc"), "UserName" : "Carol", "UserMessage" : "Hi" } ], "UserFriendsName" : [ "John", "Sam" ] }
UserMessage = "Hi" থাকা ডকুমেন্ট খুঁজে বের করা
> db.findValueFromJsonDemo.find({'UserDetails.UserMessage': "Hi"});
আউটপুট:
{ "_id" : ObjectId("5cdf8a4cbf3115999ed511fd"), "UserDetails" : [ { "_id" : ObjectId("5cdf8a4cbf3115999ed511fc"), "UserName" : "Carol", "UserMessage" : "Hi" } ], "UserFriendsName" : [ "John", "Sam" ] }
ব্যাখ্যা: UserDetails.UserMessage ডট নোটেশন ব্যবহার করে নেস্টেড অবজেক্টের অ্যারেতে থাকা UserMessage ফিল্ডে ক্যোয়ারি করা হয়েছে। MongoDB অটোমেটিক্যালি অ্যারের প্রতিটি এলিমেন্ট চেক করে।
নোট: যদি অ্যারেতে একাধিক অবজেক্ট থাকে এবং নির্দিষ্ট শর্তে मैच করতে হয়, তবে $elemMatch ব্যবহার করুন।