我听说过RethinkDB。所以开始探索它。我正在寻找一个特定的解决方案:
每当发布新评论时,都应向通知该帖子的所有其他用户发送通知。 传统解决方案是每次发布评论,遍历所有评论并发送通知的用户。但它是一个耗时的解决方案,因此需要重新考虑所有用户的新评论。
我找到的解决方案(如果可能,通过RethinkDB)。我会保留每篇文章的记录:
Table: PostComments
----------------------------
PostId=> user1, user2, user3.............userN
因此,如果有新评论,我只会通知" PostId"并且作为所有"用户"有订阅的alreday,应该自动通知
答案 0 :(得分:1)
您可以使用以下功能获取所有这些用户的列表,这些用户可以设置为在保存新评论时运行。
r.db('DB_NAME').table('PostComments')
.get('PostId').pluck('users').run(connection, function(error, users) {
// notify users
// or error
});
connection.close();
将返回users === {"users":["user1","user2",...]}
然后您可以迭代用户来运行您的通知。