2012-03-22 78 views
2

我正在使用Mongoid,但我需要做的就是增加一個整數字段。爲了避免使用Mongoid的方法,只需運行mongodb ruby​​ drivers方法來增加一個值是否值得呢?在rails中運行本地mongodb命令

我該怎麼做?

回答

2

穆太短是正確的,你既可以使用內置的mongoid #inc方法:

Model.inc(:field, integer) 

或者你也可以直接通過集合屬性訪問集合:

Model.collection.update(
    { query document }, 
    { "$inc" => { :field => value } } 
) 
2

爲什麼不使用Mongoid的inc方法?

型號#INC

執行MongoDB的$inc改性劑,它增加它的由所提供的量的值或它初始化該值。如果該字段不是數字,則會引發錯誤。

這麼做model.inc(:a, 11)應該直接發送{ $inc: { a: 11 } }更新到MongoDB。