2016-02-11 47 views
0

我正在制作一个带有“Feed”视图的视频应用程序,其中列出了我所关注用户发布的所有视频。一行ID为数组或每个ID一行?

我要实现对这些视频进行了“观察”的状态,想知道什么是实现的最佳途径。我使用的解析

(自行管理我的服务器上),但我想我的问题是共同的每一个数据库系统。

我的想法是创建一个名为“VideoView”中,我会做的其中一个选项类(在我的解析后端):

选项1)插入一个每一次我都会看到有一行特定的视频。 所以在这个班,我想有一个指针User类(谁已经观看了视频中的当前用户的objectId)和一个指向视频类(视频的观看objectId)。

选项2)为每个用户插入一行(再次指向User类的指针),并且有一个这个特定用户查看过的每个视频id的数组。

什么是最好的选择,以实现我想在这里?这种情况下的最佳做法是 - 为每个视频视图保存一行或为每个用户保存一行并保存在阵列中查看的每个视频ID?

谢谢!

+2

如果你想有一个规范化的数据库设计,选项1,如果您使用的是的NoSQL数据库,你可以使用选项2. –

回答

0

这是一个多对多的映射。用户可以查看任意数量的视频,并且可以由任意数量的用户查看视频。

最好的选择是从userId,videoId有一个表映射,这样你可以回答更多与用户和视频相关的查询。每当查询出现特定视频的数量时,您就可以简单地向count查询count,而不是遍历整个数组。

+0

谢谢您的回答。但我想我应该用一个“吉尔伯特勒布兰克”给我评论。我还读过NoSQL案例,我的选择2是最好的选择! – fraxool