余额变更日志地图减少

时间:2012-03-26 14:00:42

标签: javascript ruby-on-rails ruby mongodb mongomapper

我有一个TimeamountChanged

的集合

一天中,用户余额可以上升或下降,总日变化是这些数字的总和。

我的时间是纪元以来的mili秒,而amountChanged只是一个整数

这就是我正在尝试的地图缩小。

def self.map  
<<-MAP  
  function(){
    this.tags.forEach(function(time){
      date = Date(this.time);
      var key = {playerId: this.playerId,
                  year: date.getFullYear(),
                  month: date.getMonth(),
                  day: date.getDate(),
                  amountChanged: this.amountChanged
                };
      emit(key, 1);
    });  
  }  
MAP
end  

def self.reduce   
<<-REDUCE  
function(key, values) 
{
   var sum = 0;
   values.forEach(function(value)
   {
     sum += value['amountChanged'];
   });
   return sum;
};
REDUCE
end

我要做的是按天分组并将amountChange值相加以计算余额变化。

奖励还包括在一天开始时使用分组数据输出余额。

这是我通过谷歌查看的示例的最佳尝试,我认为我很接近,但很难调试。

0 个答案:

没有答案