2017-08-29 143 views
0

我正在構建一個網絡應用程序,其功能類似於社交地圖網站,用戶可以看到他們的朋友在哪裏登記。用戶應該只能看到他們的直接朋友以及加入同一組的人。我試圖讓我的頭在像mongoDB這樣的noSQL數據庫中這樣做。mongoDB朋友關係

在SQL數據庫中我會有一個表3表。

1)用戶,他們的簽到

2)用戶對(朋友)

與團體

要返回這將是一個相對簡單的事情,正確的數據,3)用戶對加入查詢。

在mongoDB我想象我會有2個集合。

1)用戶。在每個用戶將是一個檢查的子文件,朋友的子文件和加入組的子文件。

2)組。每個文檔都將包含該組中的用戶的子文檔。

我從兩個集合中編譯用戶列表,然後從第一個集合中查詢他們的簽入。

這看起來很麻煩,我沒有花太多時間與noSQL,所以我想學習如何使用它,但我認爲這是一個糟糕的應用程序。這工作正常嗎?或者我應該看看不同類型的數據庫。

回答

1

我會將check ins(places?)添加爲自己的集合。然後您可以使用聚合管道進行連接,並且可以使用聚合流水線和$lookup