次の Mongoid モデルを検討してください
class Doc
include Mongoid::Document
field :name, type: String
embeds_many :images
embeds_many :videos
end
class Image
include Mongoid::Document
field :url, type: String
field :caption, type: String
embedded_in :Doc
end
class Video
include Mongoid::Document
field :url, type: String
field :caption, type: String
embedded_in :Doc
end
このモデルに対して
class Doc
include Mongoid::Document
field :name, type: String
embeds_many :images
embeds_many :videos
end
class Image
include Mongoid::Document
embeds_many :urls
embeds_many :captions
embedded_in :Doc
end
class Video
include Mongoid::Document
embeds_many :urls
embeds_many :captions
embedded_in :Doc
end
class Url
include Mongoid::Document
embedded_in :image
embedded_in :video
field :url, type: String
end
class Caption
include Mongoid::Document
embedded_in :image
embedded_in :video
field :caption, type: String
end
各モデルの利点は何ですか?
簡潔にするために最初のものを使用する必要がありますか、それとも後でクエリをより細かく制御できるように url.url ポイントに原子化する必要がありますか?