Database
[{"id":"1","month":"October","company":"tesla","saleId":"111"},{"id":"2","month":"October","company":"ford","saleId":"222"},{"id":"3","month":"October","company":"tesla","saleId":"333"},{"id":"4","month":"November","company":"tesla","saleId":"444"},{"id":"5","month":"December","company":"kia","saleId":"555"},{"id":"6","month":"December","company":"ford","saleId":"666"}]
Query
db.collection.aggregate([{$group:{_id:{month:"$month",company:"$company"},count:{$sum:1}}},{$sort:{count:-1}},{$group:{_id:"$_id.month",v:{$push:{company:"$_id.company",count:"$count"}}}},{$group:{_id:null,values:{$push:{k:"$_id",v:"$v"}}}},{$replaceRoot:{newRoot:{"$arrayToObject":"$values"}}}])