オブジェクトと埋め込まれたサブオブジェクトがあります
class Object
include Mongoid::Document
embeds_many :sub_objects
end
class SubObject
include Mongoid::Document
field :str1,:type => String
field :ind1,:type => Integer
embedded_in :object
end
コンソール出力
irb(main):060:0> obj = Object.first
=> #<Object _id: 4fd5ed971d41c8252c001f49, ..............>
irb(main):061:0> obj.sub_objects.size
=> 24000
irb(main):062:0> obj.save
=> true
ここで興味深いことが起こります。オブジェクトが変更されていないため、Mongoid は実際にはオブジェクトを保存しません。つまり、mongodb への呼び出しはありません。しかし、保存操作自体には 18 (!!!) 秒かかります。
何が起こっているのか、どうすれば回避できるのか、誰か説明してもらえますか?
ありがとう。