我有两个对象;
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 查询或查找查询的对象。
我该怎么做?
谢谢!
答案 0 :(得分:0)
Board
个对象将使用数组响应posts
。如果您只想要一个只引用被引用对象的ID的数组:board.posts.collect {|p| p.id}
。如果需要经常使用它,可以在模型中定义一个返回它的方法。