2016-08-26 11 views
0

私は、出版物を変換しようとしている中でthis.added使用して、これは私のコードです:は流星

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(); 

}); 

は私console.log(name)が、私はフルで名前を見ることができますが、私はどのように非常にわからないんだけどthis.addedを使用して新しいデータを追加します。これについてどうすればいいですか?この新しいデータを入力した場合、古いデータが上書きされますか?

これを達成するより良い方法がある場合は、私も知りたいと思います。

答えて

1

あなたのコードが行うことは、1つの静的な予定セットを公開することであり、それはうまくいくはずです。新しいもの(新しい出版物)を作成しているので、何も上書きすることはできません。

そういうわけで、私はあなたのコードに間違いは見られません。しかし、Appointmentsが変更された反応性のある出版物の場合は、.forEachの代わりにobserveまたはobserveChangesを使用し、次に変更しない限りを追加するだけでなく、this.changedを使用する必要があります。