Database
[{"x":1},{"x":20},{"x":21},{"x":100},{x:200},{x:3000},{x:5000}]
Query
db.collection.aggregate([{$addFields:{range:{$strLenCP:{$toString:"$x"}}}},{$group:{_id:"$range",minValue:{$min:"$x"},maxValue:{$max:"$x"},Count:{$sum:1}}},{$addFields:{x:[{$toString:"$minValue"},{$toString:"$maxValue"}]}},{$project:{range:"$_id","_id":0,x:1,Count:1}},{$sort:{range:1}}])