我在mongo中有Node推送到Handlebars模板的数据。我需要对数据进行计算,并且编写了一个javascript函数,该函数可以为每个记录执行所需的计算:
sumOutput: function(data, data1, data2) {
let impact = data * data1 * data2
return impact
}
然后在Handlebars中对其进行迭代并正常工作:
{{#each project.outputs}}
<div>{{{sumOutput outputUnits outputValue outputYears}}}</div>
{{/each}}
但是,我需要能够将其结果相加,并在另一个计算中将其用作变量。我知道将计算结果存储在数据库中是一种不好的做法,但是我不知道如何编写更好的辅助函数DRY并给出所需的信息,或者是否应该尝试编写一个从Node传递过来的:
router.get("/output/:id", (req, res) => {
Project.findOne({
_id: req.params.id
})
.populate("user")
.then(project => {
if (req.user) {
if (req.user.id == project.user._id) {
res.render("projects/output", {
project: project
});
}else{
res.redirect("/home");
}
} else {
res.redirect("/home");
}
});
});