node.js - 在 mongoose 的计算中使用项目字段

标签 node.js mongodb mongoose aggregation-framework

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

这在 Mongoose 中可能吗?如果没有,该怎么做?请帮助我

最佳答案

是的,使用聚合框架是可能的。您可以使用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)
});

关于node.js - 在 mongoose 的计算中使用项目字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39138991/

相关文章:

javascript - 插入字符串而不是函数

javascript - Node.js 在远程网络上提供 HTML 文件

node.js - 服务器不响应带参数的 url

javascript - 未调用 npm package.json 脚本

node.js - async/await Nodejs 功能

mongodb - Mongoexport 获取 CSV 输出中嵌套对象的属性

ruby-on-rails - 在一个 Rails 应用程序中使用 PostgreSQL 的 MongoDB

java.lang.NoClassDefFoundError : com/mongodb/XXXXXX Can't fix it!(使用: MongoDB Java Driver, Spigot)

node.js - 使用绝对类型在 Typescript 中编写 Mongoose 的类型化模型和模式的类和接口(interface)

javascript - 将自定义实例方法动态添加到 Mongoose 模式