gpt4 book ai didi

MongoDB聚合将字符串数组连接到单个字符串

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

我们正在尝试将字符串数组“连接”到聚合中的单个字符串。

给出以下数据集:

集合1:

{
id: 1234,
field: 'test'
}

集合2:

{
id: 1111,
collection1_id: 1234,
name: 'Max'
},
{
id: 1112,
collection1_id: 1234,
name: 'Andy'
}

当前结果(查找等之后):

{
id: 1234,
field: 'test',
collection2: ['Max', 'Andy']
}

期望的结果:

{
id: 1234,
field: 'test',
collection2: 'Max, Andy'
}

是否可以以某种方式将“collection2”连接到单个字符串?我们尝试过 $concat 但它只接受字符串。

最佳答案

你走在正确的道路上。

只需添加 $reduce超过$concat在您的 $project 阶段。

'collection2': {
'$reduce': {
'input': '$collection2',
'initialValue': '',
'in': {
'$concat': [
'$$value',
{'$cond': [{'$eq': ['$$value', '']}, '', ', ']},
'$$this']
}
}
}

注意:我们使用$cond以防止连接中出现前导 ,。您还可以使用$substrCP$reduce 之前作为 $cond 的替代方案。

关于MongoDB聚合将字符串数组连接到单个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38377582/

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