आप किसी प्रकाशन फ़ंक्शन को लागू करने के 2 तरीके हैं:
- एक कर्सर (या कर्सर की एक सरणी) लौटाकर
- this.added(), this.changed() और this.removed() का उपयोग करके।
केवल विधि 2 लौटाए गए दस्तावेज़ों को संशोधित करने की अनुमति देती है।
कृपया उल्का दस्तावेज़ देखें यहां . हालाँकि, चूंकि प्रदान किया गया नमूना कोड जटिल लग सकता है, यहाँ एक और है:
// server: publish the rooms collection
Meteor.publish("rooms", function () {
return Rooms.find({});
});
के बराबर है:
// 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(); });
});
दूसरे नमूने में, आप 'फ़ील्ड' पैरामीटर को प्रकाशन के लिए भेजने से पहले संशोधित कर सकते हैं, जैसे:
added: function(id, fields) {
fields.newField = 12;
self.added("rooms", id, fields);
},
स्रोत:यह पोस्ट ।