2011-05-13 96 views
2

我是新來的MongoDB,並與MongoMapper的一些協會幫助。與MongoDB的友誼關係

我很好奇,因爲你看到我試圖建立一些用戶< - >朋友關係,我對Document和EmbeddedDocument之間的區別有點困惑。

我想用戶將是一個文件,但將朋友是EmbeddedDocument用戶或本身就是一個文檔,簡單地被調用(許多:朋友)的用戶?

在我的初步設計,一個朋友的名單就只能是通過用戶訪問。

謝謝!

回答

1

你問一個基本的「嵌入與參考」疑問被問了不少,當涉及到MongoDB的。答案並不總是很明顯。

這裏有a similar question廣泛的答覆。這裏是關於this question的官方MongoDB文檔。

其中的一般規律:

「一流」的目標,是在頂部 水平,通常有自己的 集合。

在你的情況朋友可能是本身就是一個User對象。您可能不想將整個朋友嵌入用戶。相反,您可能希望將朋友列表保存爲每個用戶內部的數組。 (所以可能是參考)

+1

哇,那第一個鏈接是真的,真的很有幫助!多麼詳細的答案!非常感謝你!哦,是的,我最終做了完全一樣的事情。我聲明如下= many:friends,:in =>:friends_ids,:class_name =>'User' – 2011-05-15 04:04:59