我最近通过使用MongoMapper gem开始在Rails上使用MongoDB。我想知道是否有某种方法让类/对象/集合既是文档又是嵌入式文档。我希望同一个实体既可以包含/嵌入到其他文档中,也可以作为对象单独存在。
这可能吗?我是以错误的方式解决这个问题吗?任何讨论/建议都会受到高度赞赏,因为现在网上的资源似乎很少。
答案 0 :(得分:0)
我有一个非常相似的用例,而且要求(使用你的实体名称):
belongs_to_related :person
embeds_many :busiess_people
这背后的想法是,如果Person也经营不同的业务,我在BusinessPerson中有额外的字段可能不适用。让我们说一下该业务中的角色,电子邮件地址或其中的份额。
不,你可能会说一个人看起来很难看,但事实并非如此:
class Person
def businesses
Business.where('business_people._id' => self.id)
end
end