为什么我的观察添加每次都被调用

时间:2015-01-09 06:21:43

标签: meteor

Meteor.startup(function () {
   Posts.find().observe({
      added: function (doc) {
         // why does this get called on startup for every document?
      }
   });
});

我想做什么

收听新添加的帖子并更新其他收藏。

但为什么

每次启动流星应用程序时,

我的oberve.added代码都会运行吗?我只需要在添加新帖子时运行

谢谢

1 个答案:

答案 0 :(得分:0)

在文档中有一个关于如何实现这一目标的例子。它写在Meteor.publish下。这个想法如下:

  var initializing = true;

  // observeChanges only returns after the initial `added` callbacks
  // have run.
  var handle = <Collection>.find(<selector>).observeChanges({
    added: function (id) {
      if(!initializing){
         // A new was added!
      }
    }
  });

  initializing = false;