2016-08-26 3 views
0

this.added Ich versuche, eine Veröffentlichung zu verwandeln, und dies ist mein Code:unter Verwendung des in Meteor

Meteor.publish('appointments.waiting', function() { 
    var self = this, 
    count = 0; 

    Appointments.find().forEach(function (appointment) { 
    var patients = Patients.find({_id: appointment.patient_id}).fetch(); 
    var first_name = patients[count].profile.first_name, 
     middle_name = patients[count].profile.middle_name, 
     surname = patients[count].profile.surname,  
     name = surname + ', ' + first_name + ' ' + middle_name; 

    self.added('appointments', appointment.names, name); 

    }); 

    self.ready(); 

}); 

Als ich console.log(name), ich den Namen vollständig sehen kann, aber ich bin mir nicht ganz sicher, wie Verwenden Sie this.added, um die neuen Daten hinzuzufügen. Wie gehe ich vor? Und wenn ich diese neuen Daten eingeben werde, werden die älteren Daten überschrieben?

Wenn es einen besseren Weg gibt, dies zu erreichen, würde ich auch gerne wissen.

Antwort

1

Ich glaube, was Ihr Code tun wird, ist eine, statische Reihe von Terminen zu veröffentlichen, und das sollte funktionieren. Es kann nichts überschreiben, weil es etwas Neues erstellt (eine neue Publikation).

Also so sehe ich nichts falsch mit Ihrem Code. Aber wenn Sie nach einer reaktiven Publikation sind, ändert sich dann Appointments ändert, dann müssen Sie observe oder observeChanges anstelle von .forEach verwenden - und dann auch starten this.changed, anstatt nur hinzugefügt (es sei denn, die Dinge ändern sich nie) und this.removed.

Verwandte Themen