我正在嘗試這個問題......我不想使用“_id”:“12”,欄位......
{
"_id" : ObjectId("62622dd73905f04f59db2971"),
"array1" : [
{
"_id" : "12",
"array2" : [
{
"_id" : "123",
"answeredBy" : []
},
{
"_id" : "124",
"answeredBy" : []
}
]
}
]
}
我正在嘗試使用以下查詢進行更新
db.getCollection('nestedArray').updateMany(
{'array1.array2._id':'123'},
{$push:{'array1.array2.$[inner].answeredBy':'success'}},
{arrayFilters:[{'inner._id':'123'}]}
)
但我收到以下錯誤:
"errmsg" : "路徑 'array1.array2' 必須存在于檔案中才能應用陣列更新。",
我只是想了解代碼有什么問題....
uj5u.com熱心網友回復:
$[]在array1和array2之間添加
使用 $[] 更新嵌套陣列
db.collection.update({
"array1.array2._id": "123"
},
{
$push: {
"array1.$[].array2.$[inner].answeredBy": "success"
}
},
{
arrayFilters: [
{
"inner._id": "123"
}
]
})
mongoplayground
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/462448.html
標籤:mongodb
上一篇:比較嵌套陣列中的兩個欄位
