MongoDB对数组分组统计



  • 以下代码先通过时间段检索数据,将检索出数据中的tags分解成多条数据,之后通过group对tags进行分组统计,然后使用sort对数据进行倒序排序,随后返回100条记录。

    db.doc.aggregate([
        {"$match":{"date":{"$gte":from_date,"$lt":to_date}}},
        {"$unwind": "$tags"},
        {"$group":{"_id":"$tags","tag_total":{"$sum":1}}},
        {"$sort": {"tag_total": -1}},
        {"$limit":100}
    ])
    

Log in to reply