Deps.autorun基于数据库中的更改值。

时间:2014-06-26 19:40:23

标签: meteor

我尝试根据数据库中更改的值获取Deps.autorun函数。我的目标是每次更改此值时运行一个函数,而不必在我的代码中进行大量的方法调用。

使用Session.set和Session.get设置Deps.autorun没有问题,而且非常简单。

我的代码(简化);

newNotification = function() {

  var game = Games.find({}, {fields: {lastAction: 1}}).fetch();
  console.log('log: ' + game); // [object, object]
  console.log('log: ' + game._id); undefined
  console.log('log: ' + game.lastAction); undefined
}

Deps.autorun(function() {
  newNotification();
})

我将如何完成这样的事情?是否还有其他(更好)的方法,例如使用Session对象?

1 个答案:

答案 0 :(得分:1)

你应该看一下流星文档中的observeChanges。 试试这个。

Games.find({}, {
  fields: {
    lastAction: 1
  }
}).observeChanges({
  changed: function(id, fields) {
    newNotification();
  }
});