我理解使用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
答案 0 :(得分:0)
在示例中,他们仅给出了一个字段示例来显示定义结构。您可以在嵌入式文档中引入多个字段。
当嵌入式文档中有多个您不想存储在主文档中的字段时,使用embeds_one。如果某些字段对于所有文档都不是必需的,我们不会在主文档中引入,因为它会使文档变重。而不是它我们引入了您可以根据主文档的要求创建的嵌入式文档。