これが私のネストされた配列です。「secb」のsection_nameを「class_name」の「sectionb」に更新したい:「secondclass」のセクション配列、 `
[
{
"classes": [
{
"class_name": "fist class",
"sections": [
{
"section_name": "section a"
},{
"section_name": "section b"
}
]
},
{
"class_name": "second class",
"sections": [
{
"section_name": "sect a"
},
{
"section_name": "sec b"
},
{
"section_name": "sec c"
}
]
}
],
"name": "testing",
}
]
特定のクラス名のセクション名を更新したいのですが、フィルターを使用してさまざまな方法で試しましたが、誰でも助けてくれます
あなたは利用したいarrayFiltersをして$ sの[]の位置演算子
db.collection.updateMany(
{},
{
$set: {
'classes.$[elem1].sections.$[elem2].section_name': 'section b'
}
},
{
arrayFilters: [
{'elem1.class_name': 'second class'},
{"elem2.section_name": "sec b"},
]
})
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加