RethinkDB通知连续存储的所有用户

时间:2016-07-22 06:16:43

标签: rethinkdb

我听说过RethinkDB。所以开始探索它。我正在寻找一个特定的解决方案:

每当发布新评论时,都应向通知该帖子的所有其他用户发送通知。 传统解决方案是每次发布评论,遍历所有评论并发送通知的用户。但它是一个耗时的解决方案,因此需要重新考虑所有用户的新评论。

我找到的解决方案(如果可能,通过RethinkDB)。我会保留每篇文章的记录:

Table: PostComments
----------------------------
PostId=> user1, user2, user3.............userN

因此,如果有新评论,我只会通知" PostId"并且作为所有"用户"有订阅的alreday,应该自动通知

1 个答案:

答案 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",...]}

然后您可以迭代用户来运行您的通知。