emboid_one在Mongoid中的目的是什么?

时间:2012-09-18 23:46:41

标签: ruby-on-rails ruby-on-rails-3 mongoid

我理解使用embeds_many的概念,但embeds_one的目的是什么,尤其是当您在嵌入式文档中只有一个字段时,如mongoid.org上的1-N嵌入式文档示例所示?在父文档中创建字段不是更好吗?

mongoid.org上的示例:

class Band
  include Mongoid::Document
  embeds_one :label
end


class Label
  include Mongoid::Document
  field :name, type: String
  embedded_in :band
end

1 个答案:

答案 0 :(得分:0)

在示例中,他们仅给出了一个字段示例来显示定义结构。您可以在嵌入式文档中引入多个字段。

当嵌入式文档中有多个您不想存储在主文档中的字段时,使用

embeds_one。如果某些字段对于所有文档都不是必需的,我们不会在主文档中引入,因为它会使文档变重。而不是它我们引入了您可以根据主文档的要求创建的嵌入式文档。