Có 2 cách bạn có thể triển khai chức năng xuất bản:
- Bằng cách trả về một con trỏ (hoặc một mảng con trỏ)
- Bằng cách sử dụng this.added (), this.changed () và this.removed ().
Chỉ có phương pháp 2 mới cho phép sửa đổi các tài liệu đã trả lại.
Vui lòng tham khảo tài liệu Meteor tại đây . Tuy nhiên, vì mã mẫu được cung cấp có thể trông phức tạp, đây là một mã khác:
// server: publish the rooms collection
Meteor.publish("rooms", function () {
return Rooms.find({});
});
tương đương với:
// 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(); });
});
Trong mẫu thứ hai, bạn có thể sửa đổi tham số 'trường' trước khi gửi nó đi xuất bản, như sau:
added: function(id, fields) {
fields.newField = 12;
self.added("rooms", id, fields);
},
Nguồn: bài đăng này .