gpt4 book ai didi

javascript - 在MongoDB聚合函数中使用$project返回$group之后的某些数据

转载 作者:行者123 更新时间:2023-11-30 13:59:58 25 4
gpt4 key购买 nike

我正在使用 MongoDB 聚合函数,在 $match 和 $group 之后我有这个数据数组

[ { _id: { item: 'AAA' }, total: 66 },
{ _id: { item: 'BBB' }, total: 3 } ]

有没有办法用$project把最后的结果变成

[ {AAA: 66}, {BBB: 3} ]

为了让它更有趣,假设结果中也有 {CCC: 0},如果它的值等于 0,我们如何过滤和删除元素 CCC?

最佳答案

您可以在最后的 $group 之后添加以下阶段阶段

db.collection.aggregate([
{ "$group": {
"_id": null,
"data": {
"$push": {
"k": "$_id.item",
"v": "$total"
}
}
}},
{ "$replaceRoot": {
"newRoot": {
"$arrayToObject": "$data"
}
}}
])

Output

[
{
"AAA": 66,
"BBB": 3
}
]

关于javascript - 在MongoDB聚合函数中使用$project返回$group之后的某些数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56478860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com