gpt4 book ai didi

arrays - Mongodb 集合转换

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

我有一个下面的集合看起来像一个普通的 Rdbms 表,所以为了获得 Json 和 mongodb 的优势,我想从一种形式转换为另一种形式

我是 MongoDB 的新手。

[{
"ccp": 1,
"period": 1,
"sales": 100,
"units": 50
},
{
"ccp": 1,
"period": 2,
"sales": 200,
"units": 50
},
{
"ccp": 2,
"period": 1,
"sales": 100,
"units": 50
},
{
"ccp": 2,
"period": 2,
"sales": 200,
"units": 50
}
]

我希望将上面的集合转换为下面的格式

[{
"ccp": 1,
"periods": [{
"period": 1,
"sales": 100,
"units": 50
},
{
"period": 2,
"sales": 200,
"units": 50
}
]
},
{
"ccp": 2,
"periods": [{
"period": 1,
"sales": 100,
"units": 50
},
{
"period": 2,
"sales": 200,
"units": 50
}
]
}
]

最佳答案

可能效率不高,但这是使用 mongodb 聚合框架实现此目的的方法

db.collection.aggregate([
{$group : {_id : "$ccp",
periods : {$push : {period : "$period", sales : "$sales", units : "$units" }}}},
{$project : { periods : 1, "ccp" : "$_id" , _id : 0 }}
])

关于arrays - Mongodb 集合转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49920218/

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