使用ISODate的Python-Eve MongoDB聚合

时间:2016-04-25 21:59:04

标签: mongodb flask eve

我正在尝试使用聚合,其中$ 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时提供转储

EDIT 请求:

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

1 个答案:

答案 0 :(得分:1)

Eve的Mongo聚合框架支持还没有发布,所以我假设你在开发分支。目前,未解析日期。我为此打开了一个ticket,它将在0.7(具有Aggregation Framework支持)发布之前得到解决。

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

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