【发布时间】:2021-11-19 12:12:19
【问题描述】:
我有类似的结构。在每个级别中都有一个"changed" 键,其中可以存在或不存在嵌套值是递归的数组。
{
"id" : 1,
"changed" : false,
"level_2" : [
{
"changed" : false
},
{
"changed" : false,
"level_3" : [
{
"changed" : false
},
{
"changed" : false,
"level_4" : [
{
"changed" : false
}
]
}
]
}
]
}
我必须将所有更改的密钥更新为true。
我试过了
db.getCollection.update(
{ "id": 1 },
{ "$set": { "changed": true,
"level_2.$[].changed": true,
"level_2.$[].level_3.$[].changed": true,
"level_2.$[].level_3.$[].level_4.$[].changed": true} }
)
但它会抛出The path 'level_2.0.level_3' must exist in the document in order to apply array updates.
【问题讨论】:
标签: arrays mongodb mongodb-query