2016-03-22 10 views
0

Ich möchte Benachrichtigung neuen Artikel für alle Benutzer sichtbar. Im Schema der Daten "Benachrichtigungen" hinzugefügt Wert boolean "read: false", die "false" starten die Anzeige der Benachrichtigung über die Erstellung eines neuen Artikels.Meteor.js: Neuer Artikel. Benachrichtigung für alle Benutzer sichtbar

Notifications.insert({ 
     userId: post.userId, 
     postId: post._id, 
     read: false 
    }); 

Benutzer nach dem Start des Link auf den Artikel in der Anmeldung ändern den Wert des Objekts „lesen: true“, dass eine Meldung verursacht, ist ihm nicht sichtbar ist, und für alle Benutzer.

So machen Sie die Benachrichtigung für andere Benutzer sichtbar, wenn einer von ihnen den Wert von "read: true" ändert.

Antwort

0

Sie müssen über Ihre Modellierung nachdenken und wie Sie den Lesezustand in Ihrem Dokument beibehalten möchten. Wenn Sie den Lesestatus für jeden Benutzer beibehalten möchten, müssen Sie diese entsprechend speichern/ändern (wenn sie gelesen werden). Wie Sie diese Informationen behalten, bleibt Ihnen überlassen. Beispielsweise können Sie die Leserliste im Benachrichtigungsdokument behalten und den Benutzer entfernen, wenn er die Benachrichtigung liest. Oder eine andere Alternative wäre, dass Sie über eine separate Sammlung verfügen, um die Benachrichtigungsliste des Benutzers beizubehalten, aus der Sie beim Lesen Benachrichtigungselement entfernen.

+0

Ja, Sie haben Recht. Ich habe eine Idee, die Datenschemadaten Meteor.users ID Artikel und Werte "true/false" für Benachrichtigungen zu verknüpfen – samuraijack

Verwandte Themen