这是我现在的代码:
Template.home.helpers({
categories: function(){
// Categories is a collection defined earlier
return Categories.find();
},
});
var categories = Categories.find();
/**
categories.append({
name: "All",
icon: "home"
});
*/
return categories;
},
它只是返回我正在使用的数据库中的所有类别。我想制作一个聚合类别。例如,看到我有两个类别:
[
{
name: "Link",
views: 5
},
{
name: "Time",
views: 10,
}]
说我想要第三类:
{
name: "All",
views: 15 // this is from 10 + 5
}
我如何将其添加到光标?
答案 0 :(得分:1)
助手也可以返回数组(或单个值),而不是返回游标。因此,您可以通过将所有现有类别提取到数组中,使用所需数据进行修改并返回修改后的数组来解决您的问题。以下是一个示例实现:
Template.home.helpers({
categories: function() {
// fetch all of the categories into an array
var cats = Categories.find().fetch();
// compute the total views for all categories
var totalViews = _.reduce(cats, function(memo, cat) {
return memo + cat.views;
}, 0);
// add a new 'category' with the total views
cats.push({name: 'All', views: totalViews});
// return the array of modified categories
return cats;
}
});