gpt4 book ai didi

mongodb - 聚合组多个结果

转载 作者:可可西里 更新时间:2023-11-01 10:46:21 25 4
gpt4 key购买 nike

我尝试聚合操作 '$group' ..我想获得多组结果。

我的数据是这样的..

items: [
{
director: "James",
category: "fruit",
name: "apple",
money: 5000
},
{
director: "James",
category: "toy",
name: "dragon",
money: 15000
},
{
director: "Sam",
category: "fruit",
name: "orange",
money: 3500
}
]

我想得到结果,这个!!

directorList:[
{
director: "James",
money: 20000
},
{
director: "Sam",
money: 3500
}
],
categoryList: [
{
category: "fruit",
money: 8500
},
{
category: "toy",
money: 15000
}
]

请回答..谢谢..!!

最佳答案

你可以试试下面的聚合

db.collection.aggregate([
{ "$facet": {
"directorList": [
{ "$group": {
"_id": "$director",
"money": { "$sum": "$money" }
}},
{ "$project": {
"_id": false,
"director": "$_id",
"money": 1
}}
],
"categoryList": [
{ "$group:" {
"_id": "$category",
"money": { "$sum": "$money" }
}},
{ "$project": {
"_id": false,
"category": "$_id",
"money": 1
}}
]
}}
])

输出

[
{
"categoryList": [
{
"category": "toy",
"money": 15000
},
{
"category": "fruit",
"money": 8500
}
],
"directorList": [
{
"director": "Sam",
"money": 3500
},
{
"director": "James",
"money": 20000
}
]
}
]

MongoPlayGround

关于mongodb - 聚合组多个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51554766/

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