我是MongoDB的新手,并使用MongoMapper获取一些关联帮助。
我很好奇,因为,你看,我正在尝试建立一些User< - > Friend关系,我对Document和EmbeddedDocument之间的区别感到有些困惑。
我认为User会是一个Document,但是Friend会成为一个EmbeddedDocument for User或者一个Document本身只是被用户调用(很多:朋友)?
在我的初步设计中,朋友的名单只能通过用户访问。
谢谢!
答案 0 :(得分:1)
你问的是一个基本的“嵌入式和引用式”问题,当谈到MongoDB时会有很多问题。答案并不总是很明显。
以下是对a similar question的广泛回复。以下是this question上的官方MongoDB文档。
一般规则之一:
“头等”对象,位于顶部 等级,通常都有自己的 集合。
在你的情况下,朋友本身可能是一个用户对象。您可能不希望将整个朋友嵌入用户内部。相反,您可能希望将朋友列表保留为每个用户内的数组。 (所以可能是参考文献)