更新包含 mongoid 中的散列的数组字段
Updating an array field that contains hashes in mongoid
我在XYZ
collection中有一个文档如下。
"_id" : ObjectId("55311e4487216d7063040000"),
"colours" : [
{
"value" : 1,
"colour" : "red"
},
{
"value" : 2,
"colour" : "green"
}
]
我需要更新值为 1 的颜色的名称。我应该写什么查询?
我正在使用 rails 4.1.2,mongoid 4.0.0。
请帮忙。
例如你想把它改成 "yellow" :
XYZ.where(_id: "55311e4487216d7063040000").elem_match(colours: { value: 1 }).update("$set" => {"colours.$.colour" => "yellow"})
我在XYZ
collection中有一个文档如下。
"_id" : ObjectId("55311e4487216d7063040000"),
"colours" : [
{
"value" : 1,
"colour" : "red"
},
{
"value" : 2,
"colour" : "green"
}
]
我需要更新值为 1 的颜色的名称。我应该写什么查询?
我正在使用 rails 4.1.2,mongoid 4.0.0。
请帮忙。
例如你想把它改成 "yellow" :
XYZ.where(_id: "55311e4487216d7063040000").elem_match(colours: { value: 1 }).update("$set" => {"colours.$.colour" => "yellow"})