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

MongoDB এগ্রিগেশন: একাধিক ফিল্ড গ্রুপ বাই করে ফলাফল বের করা ($facet)

$facet স্টেজ দিয়ে একই পাইপলাইনে একাধিক গ্রুপিং করুন।

> db.demo765.insertOne({ Name:"John", "Category":"ComputerScience", "SubjectName":"MongoDB", "Marks":75 });
> db.demo765.insertOne({ Name:"John", "Category":"ComputerScience", "SubjectName":"MySQL", "Marks":85 });
> db.demo765.insertOne({ Name:"Chris", "Category":"10th", "SubjectName":"Math", "Marks":98 });

এগ্রিগেশন কোয়েরি:

> db.demo765.aggregate([
  { "$facet": {
      "ListOfName": [
        { "$group": { "_id": "$Name", "Marks": { "$sum": "$Marks" } } },
        { "$project": { "_id": false, "Name": "$_id", "Marks": 1 } }
      ],
      "ListOfCategory": [
        { "$group": { "_id": "$Category", "Marks": { "$sum": "$Marks" } } },
        { "$project": { "_id": false, "Category": "$_id", "Marks": 1 } }
      ]
  }}
]).pretty()

ফলাফল: Name-wise এবং Category-wise মোট মার্কস আলাদা আলাদা আউটপুটে।

  1. MongoDB-তে অ্যারে সহ গ্রুপ বাই রেজাল্ট রিট্রিভ

  2. MongoDB-এ _id দিয়ে গ্রুপ করে ডকুমেন্ট কাউন্ট করা

  3. MongoDB-এ তারিখ অনুযায়ী গ্রুপ করে নামের তালিকা বের করা

  4. MongoDB Aggregation-এ $redact এবং $cond ব্যবহার করে ডকুমেন্ট ফিল্টার