在猫鼬计算中使用项目字段

时间:2016-08-25 07:18:14

标签: node.js mongodb mongoose aggregation-framework

.project({
        percentage_amount: {
          $multiply: ["$commission", {
                    $divide: ["$price", 100]
            }]
        },
        payable: {
          $subtract: ["$price", percentage_amount]
        }
    })

猫鼬有可能吗?如果没有,该怎么办?请帮助我

1 个答案:

答案 0 :(得分:1)

是的,可以使用聚合框架。您可以将 aggregate() 管道构建器用作:

Model.aggregate()
     .project({
          "percentage_amount": {
              "$multiply": [
                   "$commission", {
                       "$divide": ["$price", 100]
                   }
              ]
           },
           "payable": {
               "$subtract": ["$price", percentage_amount]
           }
      })
      .exec(function(err, result) {
          if (err) return handleError(err);
          console.log(result)
      });

或使用 aggregate() 运算符管道数组:

Model.aggregate([
    {
      "project": {
          "percentage_amount": {
              "$multiply": [
                   "$commission", {
                       "$divide": ["$price", 100]
                   }
              ]
           },
           "payable": {
               "$subtract": ["$price", percentage_amount]
           }
    }
]).exec(function(err, result) {
    if (err) return handleError(err);
    console.log(result)
});