带有Rails的MongoDB嵌入式文档/文档

时间:2010-05-03 22:37:19

标签: ruby-on-rails mongodb mongomapper nosql

我最近通过使用MongoMapper gem开始在Rails上使用MongoDB。我想知道是否有某种方法让类/对象/集合既是文档又是嵌入式文档。我希望同一个实体既可以包含/嵌入到其他文档中,也可以作为对象单独存在。

这可能吗?我是以错误的方式解决这个问题吗?任何讨论/建议都会受到高度赞赏,因为现在网上的资源似乎很少。

1 个答案:

答案 0 :(得分:0)

我有一个非常相似的用例,而且要求(使用你的实体名称):

  • 人物收藏
  • belongs_to_related :person
  • 的嵌入式模型BusinessPerson
  • 包含embeds_many :busiess_people
  • 的商家的集合

这背后的想法是,如果Person也经营不同的业务,我在BusinessPerson中有额外的字段可能不适用。让我们说一下该业务中的角色,电子邮件地址或其中的份额。

不,你可能会说一个人看起来很难看,但事实并非如此:

class Person
   def businesses
     Business.where('business_people._id' => self.id)
   end
end