mongodb按日期时间排序聚合数据

时间:2015-11-01 19:19:38

标签: mongodb aggregation-framework pymongo

我的日期包括姓名,IP和日期时间。 我为pymongo提供了以下管道,其中包括五个人 每个名称和计数的汇总结果,按计数

排序
pipeline = [{'$group': {'_id': '$name', 'count': {'$sum': 1}}},
            {'$sort': {'count': -1}},
            {'$limit': 20},
            {'$skip': offset}]

但我也需要,按最新排序数据然后汇总。 我尝试了以下管道,但结果似乎不对。

pipeline = [{'$sort': {'datetime': -1}},
            {'$group': {'_id': '$name', 'count': {'$sum': 1}}},
            {'$limit': 20},
            {'$skip': offset}]

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我明白了 这似乎是正确的结果

    pipeline = [{'$group': {'_id': '$name', 'count': {'$sum': 1}, 'datetime': {'$last': '$datetime'}}},
            {'$sort': {'datetime': -1}},
            {'$limit': 20},
            {'$skip': offset}
            ]