【发布时间】:2021-08-02 15:37:48
【问题描述】:
我想更新我的集合中的所有文档,这些文档具有位于嵌套数组中的特定值,该数组的结构如下:
[{
"_id": "1",
"arrayX": [
{
"id2": "123",
"arrayY": [
{
"colour": "blue",
"size": "small"
},
{
"colour": "red",
"size": "small"
},
]
},
{
"id2": "12345",
"arrayY": [
{
"colour": "blue",
"size": "small"
},
{
"colour": "purple",
"size": "small"
},
]
}
]
}]
在这种情况下,我需要将上面示例中显示的 2 个元素中的值 "blue" 更新为 "white"。
我想出了类似的方法,但它不起作用:
db.collection.update(
{ arrayX.$.arrayY.$.colour: "blue" },
{ $set: { "arrayX.$.arrayY.$.colour" : "white" } },
{ upsert: false }
)
提前致谢
【问题讨论】:
-
这能回答你的问题吗? Insert into highly nested document MongoDB
标签: arrays mongodb multidimensional-array mongodb-query