我在另一个数组内的数组中有一个字符串。我想将另一个字符串与已经存在的字符串连接在一起(这是两个数组的最后一个索引)。我在文档中存储了最后一个元素的索引
{
_id: 'id',
array1: [
0: [...]
...
m: [
0: {}
...
n: {id: 'id', string: 'hello'}
]
],
i: m,
j: n
}
我想连接“世界”!到array1[m][n].string
的字符串,或者换句话说,到array1[$i][$j].string
我已经尝试了以下阶段,但没有一个起作用。
{ $addFields: { array1.$i.$j.string: <expression> }
{ $addFields: { array1.$[i].$[j].string: <expression> }
{ $addFields: { array1.[$i].[$j].string: <expression> }
数据
{
_id: 'abc',
array1: [
0: {
id: 'def'
array2: [
0: {
id: '123',
string: 'hello'
}
]
}
],
i: 0,
j: 0,
}
在运行管道之后,我想获得相同的结构,但字符串中带有“ hello world”。
{
_id: 'abc',
array1: [
0: {
id: 'def'
array2: [
0: {
id: '123',
string: 'hello world'
}
]
}
],
i: 0,
j: 0,
}
答案 0 :(得分:0)
为了修改多个嵌套数组,一种方法是name='firstName'
,根据需要修改数据,最后汇总展开的数据。
$unwind