我在XYZ
集合中有一份文件如下。
"_id" : ObjectId("55311e4487216d7063040000"),
"colours" : [
{
"value" : 1,
"colour" : "red"
},
{
"value" : 2,
"colour" : "green"
}
]
我需要更新值为1的颜色名称。我应该写什么查询?
我使用的是rails 4.1.2,mongoid 4.0.0。
请帮忙。
答案 0 :(得分:7)
例如,您想将其更改为“黄色”:
XYZ.where(_id: "55311e4487216d7063040000").elem_match(colours: { value: 1 }).update("$set" => {"colours.$.colour" => "yellow"})