有一个对象和嵌入的子对象
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 (!!!) 秒。
谁能向我解释发生了什么以及如何避免它?
谢谢。