Карта журнала изменений баланса - PullRequest
0 голосов
/ 26 марта 2012

У меня есть коллекция с Time и 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, чтобы подсчитать изменение баланса.

Бонусом будет также вывод баланса в начале дня с сгруппированными данными.

Это моя лучшая попытка с примерами, которые я просматривал в Google, думаю, я близок, но отладить сложно.

...