Reputation: 711
i'm begining with the gem mongoid in rails3 .
I want to know how i can increment manually a field containing an integer.
I've tried a lot of method but no one work well.
And i'd like to know if this action can be done in an atomic context ?
Upvotes: 4
Views: 5204
Reputation: 857
For Mongoid versions previous to 4
from the mongoid docs, assuming that a Person model has an Integer field of 'score', this would increment the score by 100:
person = Person.find(id)
person.inc(score: 100) # Increment score
more info: http://mongoid.org/en/mongoid/docs/persistence.html#atomic
Upvotes: 11
Reputation: 6756
Correct Answer For Mongoid 4.0+
person = Person.find(id)
person.inc(score: 100)
Upvotes: 4