Database

[{"user":1,"size":10},{"user":1,"size":200},{"user":1,"size":3000},{"user":1,"size":40000},{"user":1,"size":500000},{"user":2,"size":10},{"user":2,"size":200},{"user":2,"size":3000},{"user":3,"size":40000},{"user":3,"size":500000}]

Query

db.collection.aggregate([{"$set":{"size_range":{"$cond":{"if":{"$lte":["$size",10000]},"then":[0,10000],"else":{"$cond":{"if":{"$lte":["$size",100000]},"then":[10000,100000],"else":[100000,"+inf"]}}}}}},{"$group":{"_id":{user:"$user",size:"$size_range"},"count":{"$sum":1}}},{"$project":{"user":"$_id.user","size":"$_id.size","count":"$count","_id":0}}])

Result