【发布时间】:2017-04-22 19:29:28
【问题描述】:
我想实现一个新闻提要,用户可以在其中发布私人(共享)和公共活动。两者的区别在于公开活动显示在所有用户的新闻提要中,而私人活动则显示给我的所有关注者新闻提要。
我一直在阅读一些有关实施新闻提要的资源,并且遇到了this 开源项目。
引用文档
Next up we want to start publishing this activity on several feeds. First of all we want to insert it into your personal feed, and then into your followers' feeds
现在这适用于私人活动,我将活动发布到作者自己的供稿以及我所有的追随者供稿。 但问题是活动何时公开。在这种情况下,我必须将其发布到用户自己的提要以及系统中的所有其他用户,以便此活动显示在他们的提要中。 假设系统中有 100 万用户,这将需要发布到 100 万个提要(可能是 100 万条数据库记录)。我认为这是不正确的。
我想在其他集合中分离出公共活动,这些活动对所有人都是可见的。此解决方案的问题是假设我想检索用户的提要,而不是如何将来自用户关注者提要的数据与公共提要结合起来。
考虑这个例子。
用户 A 有 10 个关注者,他们总共发布了 10 个活动。所以用户 A 的提要有 10 个来自他的追随者的活动。现在有用户 A 没有关注的用户 B。用户 B 还发布了 2 个公开活动。现在用户 A 的提要应该有 12 个活动(10 个来自关注者 + 2 个来自用户 B 的公共活动),所以我将这两个集合中的数据组合起来,并在组合的结果集上实现排序、过滤等。
附加信息:
platform: node.js
DB: rethinkdb
【问题讨论】:
标签: node.js architecture rethinkdb feed