2016-04-25 60 views
1

我正尝试使用汇总,其中$匹配条件是日期$ GTE我给定的日期。python-Eve MongodDB与ISODate汇总

模式:

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+"} 
+0

请问您可以添加您的请求示例吗? –

+0

嗨尼科拉,是的确定它看起来像这样:myserver:5000/hashtag_top /?aggregate = {“$ upd”:“+ myjsisodate +”} –

+0

有没有可能提供这种方式使用烧瓶? (我的蟒蛇有点不好:-)我只想得到这个聚合的文件,其中_updated timestamp>(now-3days)。 –

回答

1

蒙戈AGGRE Eve的门户框架支持尚未发布,所以我假设你在开发分支。目前,日期不被解析。我为此打开了一个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"} 
+0

谢谢你尼古拉:)任何想法的工作? ;-) –

+0

@HaraldWiesinger我更新了答案,现在支持日期解析。如果它现在适合你,请接受答案。 –

+0

嘿很酷,谢谢!我会在晚上晚些时候尝试;-) –