2016-07-22 13 views
0

Ich habe von RethinkDB gehört. Also fing an, es zu erforschen. Ich suche nach einer bestimmten Lösung:RethinkDB benachrichtigen alle Benutzer in einer Zeile

Immer wenn ein neuer Kommentar veröffentlicht wird, sollte eine Benachrichtigung an alle anderen Benutzer gesendet werden, die diesen Beitrag kommentiert haben. Eine traditionelle Lösung ist jedes Mal, wenn ein Kommentar gepostet wird, durchlaufen alle Benutzer, die kommentierten und ihnen eine Benachrichtigung senden. Aber es ist eine zeitaufwendige Lösung, weil zu jeder Zeit ein neuer Kommentar kommt, müssen Sie alle Benutzer durchlaufen.

Die Art der Lösung, die ich finde (wenn möglich durch RethinkDB). Ich werde eine Aufzeichnung per Post halten:

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

Also, wenn ein neuer Kommentar kommt, werde ich nur mitteilen zu „postID“ und wie alle „user“ gibt es abonniert alreday, sollte es automatisch

Antwort

1

benachrichtigt Sie können eine Liste all dieser Benutzer mit der folgenden Funktion abrufen, die eingerichtet werden könnte, wenn ein neuer Kommentar gespeichert wird.

r.db('DB_NAME').table('PostComments') 
    .get('PostId').pluck('users').run(connection, function(error, users) { 
    // notify users 
    // or error 
}); 
connection.close(); 

die users === {"users":["user1","user2",...]}

Dann kehren werden Sie über Benutzer laufen könnte Ihre Mitteilung laufen.