2014-12-22 30 views
0

我有我發佈的消息集合。現在我只希望本地收藏集僅在插入新消息時進行更新。但是,如果任何消息被刪除,我不希望任何事情發生在本地收藏。我試過這個:如果在Meteorjs中添加新文檔,只更新訂閱

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 
} 

我要去哪裏錯了?

回答

1

您在added函數中犯了一個小錯誤,您必須添加實際文檔作爲第三個參數。

Messages.find().observe({ 
    added: function(doc) { 
    self.added('messages', doc._id, doc); 
    } 
}); 
+0

但_id字段仍然丟失。 –

+0

@FardeemMunir我以爲你以前只有_id字段?現在你擁有所有的文件,但是_id? –

+0

不喜歡_id字段現在是一個對象。 –