Database
[{"collection":"collection","count":100,"content":{"_id":{"type":"autoincrement","autoType":"int","startInt":0},"userID":{"type":"uuid","format":"string"},"shards":{"type":"object","objectContent":{"ancient":{"type":"object","objectContent":{"pulled":{"type":"int","minInt":50,"maxInt":500}}},"void":{"type":"object","objectContent":{"pulled":{"type":"int","minInt":50,"maxInt":500}}},"sacred":{"type":"object","objectContent":{"pulled":{"type":"int","minInt":50,"maxInt":500}}}}}}}]
Query
db.collection.aggregate([{/** create new field for the sum*/"$set":{"pulledSum":{"$sum":["$shards.ancient.pulled","$shards.void.pulled","$shards.sacred.pulled"]}}},{/** sort on the sum*/"$sort":{"pulledSum":-1}},{/** limit to the desired number*/"$limit":10},{/** don't return some fields*/"$unset":["_id","pulledSum"]}])