Database

[{"user_id":"1","key":"key1"},{"user_id":"1","key":"key2"},{"user_id":"2","key":"key1"},{"user_id":"2","key":"key1"},{"user_id":"3","key":"key2"},{"user_id":"4","key":"key1"}]

Query

db.collection.aggregate([{$group:{_id:{key:"$key",user_id:"$user_id"}}},{$group:{_id:"$_id.key",count:{$sum:1}}},{$sort:{count:-1}}])

Result