2012-03-22 51 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。