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

MongoDB অ্যাগ্রিগেশন: $match এবং $and দিয়ে একাধিক শর্ত মিলিয়ে ডকুমেন্ট বের করা

MongoDB অ্যাগ্রিগেশনে $match স্টেজে $and অপারেটর ব্যবহার করে একাধিক শর্ত একসাথে লাগিয়ে ডকুমেন্ট ফিল্টার করা হয়। এটি কোয়েরি অপটিমাইজেশনে সাহায্য করে।

উদাহরণ: গভীর নেস্টেড স্ট্রাকচার

> db.demo574.insertOne({
    "details1": {
        "details2": {
            "dueDate": new ISODate("2020-01-10"),
            "Name": "Chris",
            "UserInformation": { "Name": "John", "Marks": 78 },
            "CountryName": "US"
        }
    },
    "id": 101
});

অ্যাগ্রিগেশন: তিনটি শর্ত একসাথে মিলিয়ে ফিল্টার

> db.demo574.aggregate({
    $match: {
        $and: [
            { "details1.id": 101 },
            { "details1.details2.UserInformation.Name": 'John' },
            { "details1.details2.Name": 'Chris' }
        ]
    }
});

আউটপুট: শর্ত পূরণকারী ডকুমেন্ট রিটার্ন হয়।

ব্যাখ্যা:

  • $and - সব শর্ত সত্য হতে হবে (লজিক্যাল AND)
  • ডট নোটেশন দিয়ে গভীর নেস্টেড ফিল্ড এক্সেস করা হয়েছে
  • $match পাইপলাইনের শুরুতে রাখলে ইন্ডেক্স ব্যবহার করে দ্রুত ফিল্টার হয়
  • ইমপ্লিসিট AND: { "a": 1, "b": 2 } ও কাজ করে, কিন্তু $and স্পষ্ট এবং এক্সপ্রেশন ব্যবহারের সুবিধা দেয়
  1. MongoDB-এ অ্যারে ফিল্ডে সব এলিমেন্ট ম্যাচ করা ($all অপারেটর)

  2. MongoDB অ্যাগ্রিগেশন দিয়ে সবচেয়ে কম মার্কসuage वाले দুটি ডকুমেন্ট বের করা

  3. MongoDB অ্যাগ্রিগেশন দিয়ে সব ডকুমেন্ট জুড়ে ডISTINCT মান গণনা করা

  4. MongoDB-এ একটি ফিল্ডের সব মান আপডেট করা নির্দিষ্ট স্ট্রিং দিয়ে