Mongoid多原子操作

Fin*_*arr 5 ruby mongodb mongoid

我有一种Mongoid::Document记忆.我想原子地incpush同一个电话.Mongoid::Criteria仅单独公开这些操作.

my_model = SomeModel.find "foo"

坏:

my_model.inc foo: 1
my_model.push bar: "b"
Run Code Online (Sandbox Code Playgroud)

好:

my_model.underlying_adapter.update "$inc" => {foo: 1}, "$push" => {bar: "b"}

问题是,如何为单个实例访问底层适配器Mongoid::Document

rub*_*nfa -1

我不是红宝石专家,但也许你可以使用find_and_modify