Em vez de criar vários callbacks nos modelos mongoid, use o recurso counter_cache.
class Foo
include Mongoid::Document
has_many :bars
field :bars_count, type: Fixnum, default: 0
end
class Bar
include Mongoid::Document
belongs_to :foo, counter_cache: true
end
Simplesmente adicionar counter_cache: true na relação criará todas as coisas necessárias para você. Então:
f = Foo.create
b = Bar.create(foo: f)
f.bars_count #should be 1