gpt4 book ai didi

mongodb - 如何使用 Group By 和 concat 字段作为字符串

转载 作者:行者123 更新时间:2023-12-04 03:02:55 27 4
gpt4 key购买 nike

我是 MongoDB 3.2 的新手,

考虑下面的例子,

{ "_id" : "2tLX8ALYfRvbgiurZ", "service" : "GSTR 1" }
{ "_id" : "2tLX8ALYfRvbgiurZ", "service" : "GSTR 2" }
{ "_id" : "2tLX8ALYfRvbgiurZ", "service" : "GSTR 3" }

如何使用 Group By _id 并创建单个字段并连接所有文档字段,以下是预期输出,

{ "_id" : "2tLX8ALYfRvbgiurZ", "service" : "GSTR 1, GSTR 2, GSTR 3" }

我在下面使用但它给出了数组,

db.getCollection('Clients').aggregate(
[
{
$group : {
_id : "$_id",
services : "$services"
}
}
]
).map( doc =>
Object.assign(
doc,
{ "services": doc.services.join(",") }
)
);

输出为

[{ "_id" : "2tLX8ALYfRvbgiurZ", "service" : "GSTR 1, GSTR 2, GSTR 3" }]

最佳答案

我检查过它工作正常

db.client.insert([
{ "id" : "2tLX8ALYfRvbgiurZ", "service" : "GSTR 1" },
{ "id" : "2tLX8ALYfRvbgiurZ", "service" : "GSTR 2" },
{ "id" : "2tLX8ALYfRvbgiurZ", "service" : "GSTR 3" }
]);
db.getCollection('client').aggregate(
[
{
$group: {
_id:"$id",
myfield: {$push: {$concat: ["$service"]}}
}
},
{
$project:{
"results": {
$reduce: {
input: "$myfield",
initialValue: '',
in: {$concat: ["$$value", ", ", "$$this"]}
}
}
}
}
]
);

关于mongodb - 如何使用 Group By 和 concat 字段作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47513879/

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