Database
[{Region:"Europe",Country:"Luxembourg",Category:"Snacks","Sales Channel":"Offline","Order Priority":"C","Units Sold":9357,"Unit Price":421.89,"Unit Cost":364.69,"Total Revenue":3947624.73,"Total Cost":3412404.33,"Total Profit":535220.4,}]
Query
db.collection.aggregate([{"$group":{"_id":{"region":"$Region","country":"$Country","type":"$Category"},"Revenue":{"$sum":"$Total Revenue"}}},{"$group":{"_id":{"region":"$_id.region","country":"$_id.country"},"Categories":{$push:{k:"$_id.type",v:"$Revenue"}},"TotalRevenue":{"$sum":"$Revenue"}}},{"$group":{"_id":"$_id.region","Revenue":{"$sum":"$TotalRevenue"},"Countries":{"$push":{"country":"$_id.country","TotalRevenue":"$TotalRevenue","Categories":{$arrayToObject:"$Categories"}}}}},{"$project":{"Countries":{"$slice":["$Countries",5]}}},{"$sort":{"_id":1}},{"$limit":2}])