Python-Eve MongoDB 与 ISODate 的聚合

Python-Eve MongoDB Aggregation with ISODate

我正在尝试使用一个聚合,其中 $match 条件是一个日期 $GTE 我给定的日期。

架构:

hashtag_top = {
    'datasource': {
        'source': 'collection',
        'aggregation': {
            'pipeline': [
                { "$match": { "_updated": { "$gte" : "$upd" } } },
                { "$group": { "_id": '$Hashtag', "count": { "$sum": 1 } } },
                { "$sort": { "count": -1 }},
                { "$limit": 10 }
            ]
        }
    },
}

=无结果

hashtag_top = {
    'datasource': {
        'source': 'collection',
        'aggregation': {
            'pipeline': [
                { "$match": { "_updated": { "$gte" : ISODate("$upd") } } },
                { "$group": { "_id": '$Hashtag', "count": { "$sum": 1 } } },
                { "$sort": { "count": -1 }},
                { "$limit": 10 }
            ]
        }
    },
}

= 启动我的 run.py

时给出一个转储

编辑 要求:

http://myserver:5000/hashtag_top/?aggregate={"$upd": "+myjsisodate+"}

Mongo Eve 的聚合框架支持尚未发布,所以我假设您在开发分支上。目前,不解析日期。我为此开了一个 ticket ,这将在 0.7(具有聚合框架支持)发布之前解决。

更新:Eve 0.7-dev 现在支持日期处理。只需确保您以 RFC 1123(例如 RFC 822)格式提供日期:

http://myserver:5000/hashtag_top/?aggregate={"$upd": "Mon, 9 May 2016 12:00:00 GMT"}