2012-04-11 149 views
2

的MongoDB數據庫:地圖時間戳減少

{"thread": "abc", "message": "hjhjh", "Date": (2010,4,5,0,0,0)} 
{"thread": "abc", "message": "hjhjh", "Date": (2009,3,5,0,0,0)} 
{"thread": "efg", "message": "hjhjh", "Date": (2010,3,7,0,0,0)} 
{"thread": "efg", "message": "hjhjh", "Date": (2011,4,5,0,0,0)} 

我怎麼能映射簡化或聚合上述數據來生成輸出:

{"thread": "abc", "messages_per_month": 5} 
{"thread": "efg", "messages_per_month": 4} 

我嘗試寫一些代碼,但在未排序的日期很難平均。是否有任何內置的函數可以平均按時完成?

回答

2

對於數字,您可以在像here這樣的日期上執行最小/最大值,只需爲消息添加一個計數器即可。結果將是一個包含消息數量和最小/最大日期的線程列表。從日期開始,您可以計算可用於平均消息數量的月數。

+0

謝謝!最大值,最小值使它變得容易。 – codious 2012-04-11 08:55:59