我想使用减少获得架构的总和。以下代码的作用不是将项目添加在一起,而是将它们并排放置。例如,20 + 30应该等于50,但是它却给了我02030
这些代码有问题吗?

Tracker.findById(req.params.id).populate("variations").exec(function(err, foundTracker){
    if(err){
        console.log(err);
        }else{

            const varSum = foundTracker.variations.reduce(function(sum, variation){
              return sum + variation.varAmount;
            }, 0);
            foundTracker.varsum = varSum;
            foundTracker.save(function(err, savedTracker){


Tracker和Variation是架构模型

最佳答案

当前您只是concatenating strings,这就是为什么您没有获得正确的总和。使用parseInt(),您将获得正确的结果。

更改此:

sum + variation.varAmount




parseInt(sum) + parseInt(variation.varAmount);

关于javascript - 如何获得 Mongoose 属性(property)的总和?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50732269/

10-09 15:22