Mongoid更新多条记录

Mongoid update multiple records

我在 mongodb 中的样本收集中有记录 like

{
    "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