Geraud Mathe
Geraud Mathe

Reputation: 711

Rails 3 : Increment Manually a field with mongoid

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

Answers (2)

spotman
spotman

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

jturolla
jturolla

Reputation: 6756

Correct Answer For Mongoid 4.0+

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

Upvotes: 4

Related Questions