【发布时间】:2013-03-10 04:04:57
【问题描述】:
作为标题,当我有一个内容列表,但不是每个人都能看到它们时。 例如: 我有第一组和第二组 我创建了一个帖子,只有组 1 中的用户可以看到它。 我创建了另一个帖子,只有组 2 中的用户可以看到它。
组 1 中的用户 1,组 2 中的用户 2。 然后,用户 1 在查看最新内容列表时,只能看到帖子 1。 然后用户用户2查看最新的内容列表,他只能看到帖子2。
您可以看到,不同的帐户(用户)会在他/她的帖子列表中看到不同的帖子。因为我将所有帖子存储在一个表中,并且将 group_id 存储在其中,所以在为用户创建最新帖子列表时,我必须搜索所有最新帖子并一一检查用户是否可以看到它,如果有没有权限的帖子太多,效果会很差。
另外,组在某些情况下不是静态的,例如:我的关注者,我的朋友,如果是这样,我仍然无法将用户ID存储在帖子表中,并且必须计算他们的关系以确定他/她能不能看这篇文章。同样,该帖子可以具有多个权限组(我的关注者和我的朋友可以看到它)。
我该如何改进它?
顺便说一句,为什么我不在帖子记录中插入user_id数组,因为可能组用户的数量很大,所以我只能将group_id保存在里面。
顺便说一句, 我有一个 SNS 网站。 我使用 mongodb 数据库。 我用php。
【问题讨论】:
标签: php mongodb database-design database