2

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

这可能吗?我是否以错误的方式解决这个问题?任何讨论/建议将不胜感激,因为现在网络上的资源似乎很少。

4

1 回答 1

0

我有一个非常相似的用例,并且解决方案是(使用您的实体名称):

  • 与 People 的集合
  • 一个嵌入式模型 BusinessPersonbelongs_to_related :person
  • 与企业的集合embeds_many :busiess_people

这背后的想法是,如果 Person 还经营不同的业务,我在 BusinessPerson 中有额外的字段可能不适用。假设在该业务中的角色,电子邮件地址或它的份额。

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

class Person
   def businesses
     Business.where('business_people._id' => self.id)
   end
end
于 2010-05-10T06:47:21.377 回答