0
我想更新mongoDB中的文檔中的多個嵌套的文檔。在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文檔中的所有數組元素都具有一定的值?](http://stackoverflow.com/questions/32610663/how-to-change-all-the-array-elements-in-a-mongodb-document-to -a-一定值) – styvane