在mongoid中父对象中子对象的引用id的最佳方法是什么?

时间:2012-06-17 19:21:55

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 mongoid

我有两个对象;

board.rb

class Board
  include Mongoid::Document
  has_many :posts, :autosave => true, dependent: :destroy
  field :collected, :type => Array, :default => []
end

post.rb

class Post
  include Mongoid::Document
  belongs_to :board
end

另外默认情况下创建的关系,我想创建一个字段,用于存储或引用父对象中的帖子( Board )。

是否可以创建引用而无需复制对象?以及默认创建的关系?这样做的最佳方式是什么?

创建一个数组字段(收集字段)并输入所有帖子的ID或者有更好的方法吗?

我不想要重复的对象,我只想获得原始对象的引用,之后我想找到一个带有 where 查询或查找查询的对象。

我该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:0)

Board个对象将使用数组响应posts。如果您只想要一个只引用被引用对象的ID的数组:board.posts.collect {|p| p.id}。如果需要经常使用它,可以在模型中定义一个返回它的方法。