2016-06-19 3 views
0

Ich habe Sammlung in Client abonniert. Nach dem frischen Einfügen in die Sammlung wird nur zur Ansichtsseite der eingefügten Sammlung umgeleitet.Wie finde ich Daten in der Meteor-Sammlung?

Publishing mit 'postDetail' Sammlung auf dem Server

Meteor.publish('postDetail', (postId: string) => { 
    return PostCollection.find({ _id: postId }); 
}); 

Einsatz Seite:

collection.insert(this.currentPost, (error, postId) => { 

      if (postId) { 
       this.router.navigate(['detail', { postId: postId }]); 
      } 
      else { 

      } 
     }); 

in Seite anzeigen:

this.subscribe('postDetail', this.postId,() => { 
    collection.findOne({ _id: this.postId}); 
    **// this is not giving the inserted data at first time** 
    }); 
+0

Ich denke, Sie müssen ein bisschen klarer auf, was Ihre eigentliche Frage ist. Die Frage in dem Thema ist sehr breit und am besten beantwortet durch Lesen des Handbuchs. Was ist dein tatsächliches Problem? –

+0

Umleiten auf Einfügen Erfolg Rückruf, aber nicht die Daten auf der nächsten Seite. – sathishkumar

Antwort

0

bei Ihrem Abonnement der Suche, verwenden Sie diese. subscribe(), das wie ein Abonnement auf Vorlagenebene aussieht. Dieses Abonnement wird entfernt, wenn die Vorlage zerstört wird (nicht mehr gerendert).

Wenn Sie also nach dem Einfügen auf eine andere Vorlage umleiten, müssen Sie auch diese Vorlage erneut abonnieren.

(Meteor ist intelligent genug, um die zwischengespeicherten Daten zwischen den beiden Abonnements zu halten, so dass das zweite Abonnement sehr schnell sein wird. Aber Sie müssen es immer noch tun).

Verwandte Themen