mongodb - MongoError : The $subtract accumulator i

我似乎找不到任何解决此问题的方法。我就是想不通是哪里出了问题。

我已经尝试过 Mongo subtract in group aggregation但没有希望。该帖子也未能进一步解释。

这是我的代码:

 var aggregateOptions;
  aggregateOptions = [{
    $match: {

    }
  },{
    $group: {
      _id: "$customerID",
      totalAmount: { $sum: "$amount" },
      totalpaidAmount: { $sum: "$paidAmount" },
      totalAmountDue: { $subtract: ["$totalAmount", "totalpaidAmount"] }
    }
  }];

  Sale.sales.get(Sale.Schema, aggregateOptions, (err, saleRecord) => {
    if (err) throw err;
    console.log(saleRecord);

    res.json({
      pageTitle: "Customer List",
      currentUser: req.user,
      saleRecord: saleRecord,
    });
  });

每次查询都会提示MongoError: The $subtract accumulator is a unary operator。

最佳答案

将您的查询部分更改为此:

aggregateOptions = [
  {
     $match: {

     }
  },
  {
     $group: {
       _id: "$customerID",
       totalAmount: { $sum: "$amount" },
       totalpaidAmount: { $sum: "$paidAmount" }
     }
  },
  {
     $addFields:{
       totalAmountDue: { $subtract: ["$totalAmount", "$totalpaidAmount"] }
     }
  }
];

关于mongodb - MongoError : The $subtract accumulator is a unary operator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50088576/

相关文章:

c# - 如何通过使用 MongoDB C# 驱动程序调用 obj.ToBsonDocument()

javascript - 在 MongoDB 中使用原生 ES6 Promise

javascript - 在 mongo 中查找上周创建的对象

node.js - 如何更新 Mongoose 中的特定字段?

java - MongoRepository findByCreatedAtBetween 没有返回

javascript - MongoDB/ Mongoose : MarkModified a ne

MongoDb区域副本集 - 每个区域的主节点?

javascript - Meteor.js 使用 X509 证书身份验证连接到 Mongo

mongodb - 在 golang 中连接到远程 mongodb 服务器失败,出现身份验证错误

arrays - 如何遍历 Reactjs 中的表格行和单元格