Database

[{"name":"igor","s":["a","a","a","b","b"]},{"name":"jones","s":["c","b"]}]

Query

db.collection.aggregate([{$unwind:"$s"},{$group:{_id:{name:"$name",shares:"$s"},count:{$sum:1}}},{$group:{_id:"$_id.name",shares:{$push:{key:"$_id.shares",count:"$count"}}}}])

Result