2016-04-25 65 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

嘿很酷,謝謝!我會在晚上晚些時候嘗試;-) –