【发布时间】:2021-12-13 15:33:54
【问题描述】:
{
"_id": "100",
"menu": [
{
"type": "1",
"isenabled": true,
"items": [
{
"key": "activity",
"enabled": true,
"criteria": [
{
"key": "account",
"value": [
"active"
],
"isExclude": false
}
],
"eligible": [
"QA",
"DE"
],
"isItem": false
}
]
}
}
我在一个集合中有以下类型的文档。 在这里,我想确定像活动这样的值,并将其替换为所有文档中的“非活动”。 我们如何才能一次在多个文档中做到这一点。
"value": [
"active"
]
我尝试了一些东西,但它没有按预期工作。
db.getCollection('test').update({},
{
$Set: {"menu.$[m].items.$[i].criteria.$[c].value":["inactive"]}
},
{
arrayFilters:
[
{
"m.type":"1"
},
{
"i.key": "activity"
},
{
"c.key": "account"
}
],
multi: true
})
【问题讨论】:
标签: arrays mongodb mongoose mongodb-query