Ruby on rails Mongoid更新多个记录
我在mongodb有样本采集记录,比如Ruby on rails Mongoid更新多个记录,ruby-on-rails,mongodb,mongoid,Ruby On Rails,Mongodb,Mongoid,我在mongodb有样本采集记录,比如 { "name": "x", "value": 2 }, { "name": "y", "value": 3 }, { "name": "z", "value": 4 } 我想通过将值减去1来更新所有记录的值字段。我所做的是 samples = Sample.all samples.each do |sample| sample.update_attributes({value: sample.va
{
"name": "x",
"value": 2
},
{
"name": "y",
"value": 3
},
{
"name": "z",
"value": 4
}
我想通过将值减去1来更新所有记录的值字段。我所做的是
samples = Sample.all
samples.each do |sample|
sample.update_attributes({value: sample.value - 1})
end
我觉得这不是一个好办法。
还有其他办法吗
我正在使用mongoid 4.0和rails 4.1.4,您可以尝试:
samples = Sample.all
samples.each do |sample|
sample.inc("value" => -1)
end
您可以尝试:
samples = Sample.all
samples.each do |sample|
sample.inc("value" => -1)
end