Database

[{_id:123,name:"john",age:30,fruit:"apple",},{_id:345,name:"moore",age:45,fruit:"mango",},{_id:545,name:"carl",age:30,fruit:"grape",},{_id:96,name:"shelby",age:25,fruit:"apple",},{_id:86,name:"loris",age:48,fruit:"mango",},{_id:76,name:"carl",age:55,fruit:"grape"}]

Query

db.collection.aggregate([{"$bucket":{"groupBy":"$age","boundaries":[0,31,41,51,],"default":"More than 50","output":{"users":{$push:"$$ROOT"}}}},{"$unwind":"$users"},{"$group":{"_id":{_id:"$_id",fruit:"$users.fruit"},"count":{"$sum":1},}},{"$group":{"_id":"$_id._id","fruitsLie":{"$push":{"$concatArrays":[[],[["$$ROOT._id.fruit","$$ROOT.count"]]]}},usersCount:{$sum:"$$ROOT.count"}}},{"$addFields":{"fruitsLie":{"$map":{"input":"$fruitsLie","as":"item","in":{"$arrayToObject":"$$item"}}}}}])

Result