【发布时间】:2016-01-15 07:08:11
【问题描述】:
我正在尝试更新 mongoDB 文档中的多个嵌套文档。
假设我的数据是:
{
"_id" : "ObjectId(7df78ad8902c)",
"title" : "Test",
"img_url" : "[{s: 1, v:1}, {s: 2, v: 2}, {s: 3, v: 3}]",
"tags" : "['mongodb', 'database', 'NoSQL']",
"likes" : "100"
}
我想更新img_url 列表中的v to 200 for s = 1 and s= 2。
为任何单个s 更新v 很容易。
有没有办法更新满足某些条件的多个文档。
我试过了:
db.test.update({ "_id" : ObjectId("7df78ad8902c"), "img_url.s": {$in : ["1", "2"]}}, {$set: { "img_url.$.v" : 200 } });
and
db.test.update({ "_id" : ObjectId("7df78ad8902c"), "img_url.s": {$in : ["1", "2"]}}, {$set: { "img_url.$.v" : 200 } }, {mulit: true});
一些消息来源暗示不可能这样做。
Multiple update of embedded documents' properties
https://jira.mongodb.org/browse/SERVER-1243
我错过了什么吗?
【问题讨论】:
标签: mongodb