【发布时间】:2014-04-03 03:33:49
【问题描述】:
尝试在 Mongo 中更新子文档数组中的元素时遇到问题。如果我考虑集合“资源”中的以下文档
{
"_id": 1,
"resources": [
{
"resource_id": 1,
"resource_list": ["item1","item2"]
},
{
"resource_id": 2,
"resource_list": ["item4","item3"]
}
]
}
我想用 "item5" 等其他值更新 "item4" 以获取 "resource_id" = 2
以下语句给了我一个错误:如果没有包含数组的相应查询字段,则无法应用位置运算符。
db.resource.update({"resources.resource_id": 2, "resources.resource_list": "item4"}, {$set: {"resources.$.resource_list.$": "item5"}})
对此的任何帮助将不胜感激。
【问题讨论】: