Meteor observeChanges删除回调不会执行服务器方法

时间:2015-05-03 21:48:50

标签: meteor

我正在观察客户端上的Results集合的更改,并在服务器上调用添加和删除的回调方法。 (以下仅在客户端上,'foo'在服务器上。)

Results.find().observeChanges({
    added: function (id, doc) {
      console.log('added on client')
      Meteor.call('foo')
    },
    removed: function (id) {
      console.log('removed on client')
      Meteor.call('foo')
    }
})

这是服务器代码。

Meteor.methods({
    foo: function() {
        console.log('server code run')
    }
})

如果我在客户端上插入文档,我会在客户端上“添加到客户端”并在服务器上“运行服务器代码”。如果我删除客户端上的文档,我会在客户端上“删除客户端”,但服务器上根本没有。

有谁知道发生了什么事?

1 个答案:

答案 0 :(得分:0)

一些建议:

  • 代码是否在服务器上运行(例如,如果将其放入Tracker.autorun块)?
  • 服务器控制台上是否有任何错误?
  • 浏览器控制台上是否有错误?

如果执行removed回调中的其他代码,则也将执行服务器方法调用。这些回调没有限制。我不认为您的问题与您粘贴的代码有关。也许还要添加服务器方法代码。