mongodb - 数组内的数字相乘和相加
问题描述
我有一个与此匹配的字段:
"invoice_items" : [
{
"price" : 10,
"quantity" : 600
},
{
"price" : 499.99,
"quantity" : 1
}
]
我正在寻找聚合它并得到一个总数,所以将价格乘以数量并将两者相加,数组中可以有任意数量的项目。我尝试的最后一个是:
[{
$match: {
"is_closed": false
}
},
{
$group: {
_id: "$_id",
invoice_items: "$invoice_items"
}
},
{
$project: {
_id: 0,
count: {
$multiply: ["$invoice_items.price", "$invoice_items.quantity"]
}
}
}]
我以为会回馈一些东西,但它只是错误地说“该字段'invoice_items'必须是一个累加器对象”
解决方案
推荐阅读
- python - 在 Web-UI 中工作的 Google BigQuery SQL 查询不会在 Python / Pandas 中返回结果
- javascript - 如何在vscode的外部文件中获取express中间件的智能感知?
- javascript - 如何对两个行使用单个函数来计算值?
- eclipse - Eclipse Photon + Maven + Log4j2 (得到错误 Module log4j.api not found, required by xxx)
- android - Firebase - 无法设置通知的标题和消息
- node.js - mongoose:findOneAndUpdate 找到比 _id 更复杂的表达式
- python - 如何迭代嵌套字典中的第 n 个位置
- ios - 弱财产分配混乱
- javascript - 向 HTML 锚点添加多个操作
- android - 为什么我在适用于 Android 的 Xamarin Forms 中收到“AnimationViewRenderer 在上下文中不存在”错误?