我发布了一个Messages集合。现在,我希望仅在插入新消息时才更新本地集合。但是如果任何消息被删除,我不希望任何事情发生在本地集合中。我试过这个:
Meteor.publish('messages', function() {
var self = this;
Messages.find().observe({
added: function(doc) {
self.added('messages', doc._id);
}
});
self.ready();
});
这样可行,但实际文档不会发送给客户端。在浏览器中,如果我运行Messages.find().fetch()
,我会为每个文档返回此对象:
{
_id: LocalCollection._ObjectID
__proto__: Object
}
我哪里错了?
答案 0 :(得分:1)
您在added
函数中犯了一个小错误,您必须将实际文档添加为第三个参数。
Messages.find().observe({
added: function(doc) {
self.added('messages', doc._id, doc);
}
});