我对MongoMapper中的EmbeddedDocuments概念感到困惑。我的模型看起来像这样:
class Post
include MongoMapper::Document
many :categories
many :qualities
end
class Category
include MongoMapper::EmbeddedDocument
belongs_to :post
many :qualities
end
class Quality
include MongoMapper::EmbeddedDocument
key :category_id, ObjectId
belongs_to :post
belongs_to :category
end
我的问题很简单:我正在展示一个帖子,并希望列出它的类别和属于它的所有品质(category_id)。
答案 0 :(得分:0)
post.categories.each do |cat|
puts cat
puts cat.qualities
end
依赖于如何将其保存在数据库中,因为每个EmbeddedDocument都不需要将belongs_to与其父级一起使用。每个文档中都有_parent_document adn _root_document以查看belongs_to。