MongoMapper找到EmbeddedDocument

时间:2010-03-10 01:38:08

标签: ruby-on-rails mongodb mongomapper

我对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)。

1 个答案:

答案 0 :(得分:0)


post.categories.each do |cat|
  puts cat
  puts cat.qualities
end

依赖于如何将其保存在数据库中,因为每个EmbeddedDocument都不需要将belongs_to与其父级一起使用。每个文档中都有_parent_document adn _root_document以查看belongs_to。