MongoMapper查找EmbeddedDocument
问题描述:
我有点卡在MongoMapper中的EmbeddedDocuments的概念。我的模型是这样的:MongoMapper查找EmbeddedDocument
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)所有的素质。
答
post.categories.each do |cat|
puts cat
puts cat.qualities
end
之后它取决于如何将它保存到数据库中,因为每个EmbeddedDocument不需要belongs_to与他们的父级。每个文档中都有_parent_document和_root_document来查看belongs_to。
其实我在每个类别中都有一个品质数组,但它是空的。质量不是嵌入在类别中,而是嵌入在后。 – pex 2010-03-10 13:25:33
那么协会的品质如何与品类? – shingara 2010-03-10 13:33:43
我认为同一父母的两个嵌入文档也可能具有belongs_to/many关系。我将质量保存在category_id中。 – pex 2010-03-10 16:41:44