我有以下文件集:
{
"id": ...,
"key": 47
},
{
"id": ...,
"key": 12
}
我希望通过连接由|
分隔的键来将整个集合聚合到单个字符串中.因此,在这里,输出将是字符串47|12
.我不介意最后再多加|
美元,如果这能让事情变得更容易的话.
这是如何在MongoDB聚合管道中实现的?我来自SQL,在PostgreSQL中,它看起来像select string_agg(key, "|" order by id) from my_table
.
我想我可以这样做:首先将集合聚合到一个数组,然后在单个数组上使用$concat
函数应用$reduce
,但我不确定这是否是最好的解决方案,因为首先聚合到数组feels wrong.有没有办法立即减少Collection 量呢?