Рельсы 3: вручную увеличить поле с монгоидом - PullRequest
4 голосов
/ 16 января 2011

я начинаю с монгоида драгоценного камня в рельсах3.

Я хочу знать, как я могу вручную увеличить поле, содержащее целое число.

Я испробовал много методов, но никто не работает хорошо.

И я хотел бы знать, может ли это действие быть выполнено в атомарном контексте?

Ответы [ 2 ]

11 голосов
/ 20 января 2011

Для версий Mongoid, предшествующих 4

из документов mongoid, если предположить, что модель Person имеет поле Integer 'оценка', это увеличит оценку на 100:

person = Person.find(id)
person.inc(score: 100) # Increment score    

подробнее: http://mongoid.org/en/mongoid/docs/persistence.html#atomic

4 голосов
/ 27 января 2016

Правильный ответ для Mongoid 4.0 +

person = Person.find(id)
person.inc(score: 100)
...