【问题标题】:Meteor js mongodb SUM collection documents is incompleteMeteor js mongodb SUM 收集文档不完整
【发布时间】:2017-04-10 20:08:37
【问题描述】:

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

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

我该如何解决这个问题?如果已经回答,请见谅,我环顾四周没有成功。

当按钮被点击时,在模板事件中执行:

'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);
}

【问题讨论】:

    标签: mongodb meteor meteor-blaze


    【解决方案1】:

    由于您使用的是 Blaze,您可能会考虑将此计算作为帮助程序而不是事件处理程序。这样 (a) 用户无需点击即可获取总和,(b) 即使数据发生反应性变化,总和也将始终保持最新。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      • 1970-01-01
      相关资源
      最近更新 更多