2014-11-13 176 views
0

在我的MongoDB的代收貨款我有結構如下文件:MongoDB的 - 聚集

{ 
    "created_at": created_at, 
    "amount": amount 
    ... 
} 

我每月需要組記錄,金額相當於在每一個組,每個組發現的增長,這樣的事情:

[{ 
    "created_at": "2014-11-13", 
    "amount": 10  
}, 
{ 
    "created_at": "2014-11-3", 
    "amount": 20  
}, 
{ 
    "created_at": "2014-12-13", 
    "amount": 30  
}, 
{ 
    "created_at": "2014-12-15", 
    "amount": 15  
}] 

而且結果:

[{ 
"_id": {"month": 11}, 
"amount": 30, 
"growth": null 
}, 
{ 
"_id": {"month": 12}, 
"amount": 45, 
"growth": 1.5  
}] 

是否有可能採用聚集的管道或地圖重新做duce還是其他技術?

+2

歡迎SO,阿爾喬姆,它,如果你首先做一些研究,包括在你的問題,到目前爲止你有什麼效果最好。這更像是一個令人不悅的工作秩序。 – JohnnyHK

+0

哪些標準設定了增長? – Yogesh

+0

@yogesh growth [i] =金額[i] /金額[i-1] –

回答

0

應該是這樣的:

{ 
    '$group' : { 
     '_id' : { 
      'month' : { '$month' : '$created_at'} 
     }, 
     'amount' : { '$sum' : '$amount'} 
    } 
}