2016-01-25 4 views
0

У меня есть записи в коллекции образцов в MongoDB какMongoid обновить несколько записей

{ 
    "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 и рельсы 4.1.4

ответ

2

вы можете попробовать:

samples = Sample.all 
samples.each do |sample| 
    sample.inc("value" => -1) 
end 
Смежные вопросы