2016-07-22 20 views
0

我听说过RethinkDB。所以开始探索它。我正在寻找参与者解决方案:RethinkDB通知存储在一行中的所有用户

每当发布新评论时,都应将通知发送给对该帖子发表了评论的所有其他用户。 传统解决方案是每次发布评论时,遍历所有评论并发送通知的用户。但是它有点耗时的解决方案,因此需要对所有用户进行迭代。

我找到的解决方案的种类(如果可能通过RethinkDB)。我将保持平均每个职位的纪录:

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

所以,如果一个新的评论来了,我只是通知“帖子ID”和所有“用户”在那里订阅alreday,应自动通知

回答

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

然后你可以遍历用户运行您的通知。

相关问题