$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 মোট মার্কস আলাদা আলাদা আউটপুটে।