0

パブリケーションを変換しようとしていますが、これが私のコードです:

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どうすればいいですか?この新しいデータを入力すると、古いデータは上書きされますか?

これを達成するためのより良い方法があれば、私も知りたいです。

4

1 に答える 1

1

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

そのため、コードに問題はありません。しかし、変化してから変化する反応的な出版物を求めている場合は、 --の代わりにorAppointmentsを使用する必要があります。observeobserveChanges.forEachthis.changedthis.removed

于 2016-08-27T04:19:36.763 に答える