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

MongoDB-এ JSON-রূপ ডেটা থেকে মান কিভাবে খুঁজে বের করবেন?

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 ব্যবহার করুন।

  1. MongoDB-এ ফাইন্ড কুয়েরি থেকে অ্যারে মান রিট্রিভ করা

  2. MongoDB-এ কলেকশন থেকে ডেটা রিট্রিভ করা

  3. MongoDB-এ কেস-ইনসেনসিটিভ (Case-Insensitive) "Like" কোয়েরি (Regex /i)

  4. MongoDB-তে $where ব্যবহার করে বিলিং এবং ডেলিভারি ঠিকানা সমান হলে ডকুমেন্ট বের করা