目标:一行名为Total,每列的总和,所以课程1的总数,课程2等级的总数等等。我创建了一个会话,并在客户端处理这个总计,所以它将在浏览器上重新开始刷新。
存储此类数据 - > {Student1,Course1,Course2,Course 3,Course 4,Course 5}, {Student2,Course1,Course2,Course 3,Course 4,Course 5}等等。
想到的唯一方法是在html中使用{{sum_course1}}等许多变量,并在模板助手中计算它们,但这似乎是重复的!什么是一个很好的解决方案?我遇到了服务器端的aggr功能,但客户端没有任何希望。
这就是我为总和工作的原因,但我不会为5种不同的课程提供这样的重复功能。
Template.body.helpers({
sum:function(){
var sum=0;
var cursor=Tasks.find({});
cursor.forEach(function(Tasks){
sum = Tasks.courseone + sum;
});
return sum;
}
});
答案 0 :(得分:0)
我终于能够使用名为Mongo Sum(https://atmospherejs.com/peppelg/mongo-sum)的包在客户端实现此聚合。超级简单,完全符合我的要求:)
meteor add peppelg:mongo-sum
Template.body.helpers({
sum:function(){
var cursor=Tasks.find({});
return cursor.sum('courseone');
}
});
发布此内容可帮助任何寻找类似内容的人!