Database

[{"items":[{name:"item 1",tags:["tag 1","tag 2"],price:40,quantity:50},{name:"item 2",tags:["tag 1","tag 2"],price:45,quantity:1},{name:"item 3",tags:["tag 3","tag 2"],price:22,quantity:0}]},{"items":[{name:"item 3",tags:["tag 3","tag 2"],price:22,quantity:0}]}]

Query

db.collection.aggregate([{"$unwind":"$items"},{"$group":{"_id":"$items.name",quantity:{$sum:"$items.quantity"},price:{$first:"$items.price"}}},{"$addFields":{"total":{"$multiply":["$quantity","$price"]}}},{$sort:{total:-1}},{"$limit":10}])

Result