Java 如何合计MongoDB的最终总额?根据之前计算的总和
如何合计最终总额?根据之前计算的总和 这是最初的结果Java 如何合计MongoDB的最终总额?根据之前计算的总和,java,mongodb,mongoose,mongodb-query,aggregation-framework,Java,Mongodb,Mongoose,Mongodb Query,Aggregation Framework,如何合计最终总额?根据之前计算的总和 这是最初的结果 [ { "name": "a", "prices": 10, }, { "name": "a", "prices": 20, } ] 但我必须这样做 [ { "name": "a", "prices&quo
[
{
"name": "a",
"prices": 10,
},
{
"name": "a",
"prices": 20,
}
]
但我必须这样做
[
{
"name": "a",
"prices": 10,
},
{
"name": "a",
"prices": 20,
},
//i need to do more//
{
"name": "total",
"total":30
}
]
这是示例图片
按null键,并在$group
,在文档中构造根文档数组
总价中获取总价
- 使用
$concatarray
解构$unwind
数组文档
显示$project
对象中的两个字段文档
按null键,并在$group
,在文档中构造根文档数组
总价中获取总价
- 使用
$concatarray
解构$unwind
数组文档
显示$project
对象中的两个字段文档
请添加示例文档和用于第一个结果集的查询。@TusharGupta curioustushar我添加了一个示例图像,以便于理解。谢谢你关注我的问题。原始结果是否意味着这些是DB中的文件?还是聚合管道的结果?我可以查询数据库中的文档。请添加示例文档和用于第一个结果集的查询。@TusharGupta curioustushar我添加了一个示例图像,以便于理解。谢谢你关注我的问题。原始结果是否意味着这些是DB中的文件?还是聚合管道的结果?我可以查询数据库中的文档。非常感谢您的回答和解释。非常感谢您的回答和解释。非常感谢您的回答和解释。非常感谢您的回答和解释++
db.collection.aggregate([
{
$group: {
_id: null,
docs: { $push: "$$ROOT" },
totalPrices: { $sum: "$prices" }
}
},
{
$project: {
docs: {
$concatArrays: [
"$docs",
[
{
name: "total",
prices: "$totalPrices"
}
]
]
}
}
},
{ $unwind: "$docs" },
{
$project: {
_id: 0,
name: "$docs.name",
prices: "$docs.prices"
}
}
])