我似乎找不到任何解决此问题的方法。我就是想不通是哪里出了问题。
我已经尝试过 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
javascript - Meteor.js 使用 X509 证书身份验证连接到 Mongo