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

MongoDB-এ নেস্টেড অ্যারে ফিল্টার করার কন্ডিশন সেট করা

নেস্টেড অ্যারে ফিল্টার করতে $filter এবং $cond ব্যবহার করুন। $filter নির্দিষ্ট কন্ডিশন অনুযায়ী অ্যারে এর সাবসেট রিটার্ন করে।

> db.demo725.insertOne({
  "details": {
    "userMessages": [
      { "Messages": [ { "Message": "Hello" }, { "Message": "How" }, { "Message": "are" } ] },
      { "Messages": [ { "Message": "Good" }, { "Message": "Bye" } ] },
      { "Messages": [ { "Message": "Hello" }, { "Message": "Bye" } ] }
    ]
  }
});

এগremos কোয়েরি (Hello মেসেজ থাকা এলিমেন্ট ফিল্টার):

> db.demo725.aggregate([
  { $addFields: {
      "details.userMessages": {
        $filter: {
          input: "$details.userMessages",
          as: "out",
          cond: {
            $anyElementTrue: {
              $map: {
                input: "$$out.Messages",
                in: { $gte: [ { $indexOfBytes: [ "$$this.Message", "Hello" ] }, 0 ] }
              }
            }
          }
        }
      }
  }}
]).pretty()

ফলাফল: শুধু "Hello" মেসেজ থাকা ডকুমেন্টগুলো রিটার্ন হয়েছে।

  1. MongoDB-এ নেস্টেড (Nested) ডকুমেন্টে শর্ত লাগানো (Dot Notation + $gt)

  2. MongoDB-তে নেস্টেড ডকুমেন্ট খোঁজা (Dot Notation)

  3. MongoDB-এ অ্যারেতে ডুপ্লিকেট চেক করা

  4. MongoDB-এ অবজেক্টের অ্যারে থেকে নেস্টেড ডকুমেন্ট কোয়েরি করা ($elemMatch)