Ada 2 cara Anda dapat menerapkan fungsi publikasikan:
- Dengan mengembalikan kursor (atau larik kursor)
- Dengan menggunakan this.added(), this.changed() dan this.removed().
Hanya metode 2 yang memungkinkan untuk mengubah dokumen yang dikembalikan.
Silakan merujuk ke dokumentasi Meteor di sini . Namun, karena kode contoh yang diberikan mungkin terlihat rumit, berikut adalah kode lainnya:
// server: publish the rooms collection
Meteor.publish("rooms", function () {
return Rooms.find({});
});
setara dengan:
// server: publish the rooms collection
Meteor.publish("rooms", function () {
var self = this;
var handle = Rooms.find({}).observeChanges({
added: function(id, fields) { self.added("rooms", id, fields); },
changed: function(id, fields) { self.changed("rooms", id, fields); },
removed: function(id) { self.added("rooms", id); },
}
});
self.ready();
self.onStop(function () { handle.stop(); });
});
Pada contoh kedua, Anda dapat mengubah parameter 'field' sebelum mengirimkannya untuk dipublikasikan, seperti ini:
added: function(id, fields) {
fields.newField = 12;
self.added("rooms", id, fields);
},
Sumber:postingan ini .