我是 mongodb 的新手,我想使用 findOneAndUpdate 按 id 更新嵌套陣列元素
const Data = {
items : [
{
id: 1,
name : "a",
child : [
{ id : 11, name "aa"},
{ id : 12, name "bb"},
]
},
{
id: 2,
name : "b",
child : [
{ id : 22, name "ba"},
{ id : 23, name "bb"},
]
},
]
}
uj5u.com熱心網友回復:
這是您可以通過 arrayFilters 執行的操作:
db.collection.update({},
{
$set: {
"items.$[y].child.$[x].name": "cc"
}
},
{
arrayFilters: [
{
"x.id": 11
},
{
"y.id": 1
}
]
})
說明:您可以通過 arrayFilter x 和 y 指定需要更新的元素,在示例中,此陣列元素在 x 中具有 id:11,在 y 中具有 id:1。在更新操作中,您為欄位名稱提供新值,在示例中為值“cc”
操場
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/434336.html
