db.beer.aggregate( [
    { *'$facet'* : {
        'abv' : [
            { '$match' : { 'beer_abv' : { '$gte' : 0 } } },
            { '$bucket' : {
                groupBy: '$beer_abv',
                boundaries: [ 0, 2, 4, 6, 8, 10 ],
                default: 'way-too-much',
            } }
        ],
        'beer_type' :       [ { *'$sortByCount'* : '$beer_type' } ],
        'brewery_country' : [ { '$sortByCount' : '$brewery_country' } ],
    } },
] ).pretty()
Result:


{
    "abv" : [
        { "_id" : 0, "count" : 64 },
        { "_id" : 2, "count" : 240 },
        { "_id" : 4, "count" : 2248 },
        { "_id" : 6, "count" : 966 },
        { "_id" : 8, "count" : 435 },
        { "_id" : "way-too-much", "count" : 187 }
    ],

    "beer_type" : [
        { "_id" : "Cider", "count" : 730 },
        { "_id" : "English Bitter", "count" : 164 },
        { "_id" : "Stout", "count" : 139 },
        …
    ],
    "brewery_country" : [
        { "_id" : "England", "count" : 1971 },
        { "_id" : "United States", "count" : 501 },
        { "_id" : "Belgium", "count" : 405 },
        …
    ],
}