Database
[{"user":"Emma","type":"Apple"},{"user":"Emma","type":"Orange"},{"user":"Emma","type":"Orange"}]
Query
db.collection.aggregate([{$match:{user:"Emma"}},{$group:{_id:"$type",count:{$sum:1}}},{$group:{_id:null,types:{$push:{k:"$_id",v:"$count"}}}},{$replaceRoot:{newRoot:{$arrayToObject:"$types"}}}])