我尝试根据数据库中更改的值获取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对象?
答案 0 :(得分:1)
你应该看一下流星文档中的observeChanges
。
试试这个。
Games.find({}, {
fields: {
lastAction: 1
}
}).observeChanges({
changed: function(id, fields) {
newNotification();
}
});