Database

db={ticket:[{"assignee":"John","count":2,"type":"Open"},{"assignee":"John","count":3,"type":"Completed"},{"assignee":"Jason","count":2,"type":"In Progress"},{"assignee":"Jason","count":2,"type":"Completed"}]}

Query

db.ticket.aggregate([{$group:{_id:"$assignee",v:{$push:{count:"$count",type:"$type"}}}},{$group:{_id:0,data:{$push:{k:"$_id",v:"$v"}}}},{"$replaceRoot":{"newRoot":{"$arrayToObject":"$data"}}}])

Result