2017-04-10 72 views
0

我有一个问题,我不知道从哪里开始。我有一个按钮可以计算集合中所有匹配文档的总金额。即:某些月份,年份和分支计算。到目前为止,当我第一次点击时,它会给我“y”金额,第二次会返回“x”金额。流星js mongodb SUM收集文件不完整

我认为收集文件第一次是不完整的。

我该如何解决这个问题?请原谅,如果这已经回答了,我已经环顾四周失败了。

当单击按钮,在模板事件执行:

'click #calculate': function(event,instance){ 
    var _transactions = instance.Transactions().fetch(); 
    var capital = _transactions.reduce(function(sum, row){ 
     return row.is_accountable ? sum + row.transaction_amount : sum + 0; 
    }, 0); 
    instance.capital.set(capital); 
} 

回答

0

由于您使用的火焰,你可能会考虑这个计算的助手,而不是一个事件处理程序。这样(a)用户不需要点击以获得总和,(b)即使数据反应性地变化,总数也总是最新的。

Template.myTemplate.helper({ 
    sum(){ 
    s = 0; 
    Transactions.find().map((doc)={ 
     s += doc.is_accountable ? doc.transaction_amount : 0; 
    }); 
    return s; 
    } 
});