把手:查询和总和

如何添加在mongo subdocument中所需的字段?

例如,如果我的数组是:

 var fruits=[{ _id: 1, fruit: 'banana', number: 1 },{ _id: 2, fruit: 'Apple', number: 1 }] 

我想通过做这样的事情把所有的numbers加起来:

 app.engine('handlebars', exphbs({ defaultLayout: 'mainlayout', helpers: { addfruit: function(fruit){ var addfruit=""; for (each fruit){ addfruit+=fruit.number; return addfruit; } }, }; 

我的html:

 <div><p>You have {{addfruit fruits}} in your fridge</p></div> 

任何帮助是极大的赞赏!

在你的helper函数中,使用JavaScript reduce()方法来求和fruits数组中对象的number字段,如下所示就足够了:

 app.engine('handlebars', exphbs({ defaultLayout: 'mainlayout', helpers: { getTotal: function (fruits){ var total = fruits.reduce(function (a, b) { return a + b.number; }, 0); return total; } } }); 

然后在你的html:

 <div><p>You have {{getTotal fruits}} in your fridge</p></div> 

感谢您的指导。 这就是我最终做的事情:

  getTotal: function(fruit){ var myfruit = fruit.map(function(item) { return item.length; }); var total=myfruit.reduce(function(prev,curr){ return prev+curr},0); return total; }