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

MongoDB-এ অ্যারে ডকুমেন্ট এগ্রিগেট করার পদ্ধতি

MongoDB-এ নেস্টেড অ্যারে ডকুমেন্টের ফিল্ডগুলোর উপর এগ্রিগেশন (যেমন মিন, ম্যাক্স, এভারেজ) করতে এগ্রিগেশন পাইপলাইনে $min, $max ইত্যাদি অপারেটর ব্যবহার করুন।

উদাহরণ

নেস্টেড অ্যারে সহ ডকুমেন্ট তৈরি করুন:

> db.aggregateArrayDemo.insertOne({
    "_id": 100,
    "UserDetails": [
        { "UserName": "John", "UserLoginYear": 2010 },
        { "UserName": "Carol", "UserLoginYear": 2019 }
    ]
});
{ "acknowledged" : true, "insertedId" : 100 }

ডকুমেন্টটি দেখুন:

> db.aggregateArrayDemo.find().pretty();

আউটপুট:

{ "_id" : 100, "UserDetails" : [ { "UserName" : "John", "UserLoginYear" : 2010 }, { "UserName" : "Carol", "UserLoginYear" : 2019 } ] }

UserLoginYear এর মিনিমাম এবং ম্যাক্সিমাম বের করা

> db.aggregateArrayDemo.aggregate([
    { $match: { _id: 100 } },
    { $project: {
        Minimum: { $min: "$UserDetails.UserLoginYear" },
        Maximum: { $max: "$UserDetails.UserLoginYear" }
    } }
]);

আউটপুট:

{ "_id" : 100, "Minimum" : 2010, "Maximum" : 2019 }

ব্যাখ্যা:

  • $match — নির্দিষ্ট ডকুমেন্ট ফিল্টার (ঐচ্ছিক)।
  • $UserDetails.UserLoginYear — অ্যারেতে সব অবজেক্টের UserLoginYear ফিল্ড বের করে অ্যারে বানায়: [2010, 2019]।
  • $min, $max — সেই অ্যারেতে থেকে ন্যূনতম ও সর্বোচ্চ মান বের করে।

অন্যান্য এগ্রিগেশন অপারেটর: $avg, $sum, $stdDevPop, $push, $addToSet ইত্যাদি।

নোট: যদি অ্যারে খালি হয়, $min/$max null রিটার্ন করে।

  1. MongoDB-এ অ্যারেতে এলিমেন্ট যুক্ত করার পদ্ধতি

  2. MongoDB-এ নেস্টেড অ্যারে অ্যাগ্রিগেট করার পদ্ধতি

  3. MongoDB-এ অ্যারে অনুযায়ী ডকুমেন্ট ফিল্টার করা

  4. MongoDB-এ অ্যারে থেকে এলিমেন্ট মুছে ফেলা ($pull অপারেটর)