仅在 Meteorjs 中添加新文档时更新订阅

Only update subscription if a new document is added in Meteorjs

本文关键字:更新 文档 Meteorjs 添加 新文档 仅在      更新时间:2023-09-26

我有一个我发布的消息集合。现在,我希望本地集合仅在插入新消息时才更新。但是,如果删除任何消息,我不希望本地集合发生任何事情。我试过这个:

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
}

我哪里出错了?

你在added函数中犯了一个小错误,你必须将实际文档添加为第三个参数。

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