2017-08-29 98 views
0

我正在构建一个网络应用程序,其功能类似于社交地图网站,用户可以看到他们的朋友在哪里登记。用户应该只能看到他们的直接朋友以及加入同一组的人。我试图让我的头在像mongoDB这样的noSQL数据库中这样做。mongoDB朋友关系

在SQL数据库中我会有一个表3表。

1)用户,他们的签到

2)用户对(朋友)

与团体

要返回这将是一个相对简单的事情,正确的数据,3)用户对加入查询。

在mongoDB我想象我会有2个集合。

1)用户。在每个用户将是一个检查的子文件,朋友的子文件和加入组的子文件。

2)组。每个文档都将包含该组中的用户的子文档。

我从两个集合中编译用户列表,然后从第一个集合中查询他们的签入。

这看起来很麻烦,我没有花太多时间与noSQL,所以我想学习如何使用它,但我认为这是一个糟糕的应用程序。这工作正常吗?或者我应该看看不同类型的数据库。

回答

1

我会将check ins(places?)添加为自己的集合。然后您可以使用聚合管道进行连接,并且可以使用聚合流水线和$lookup