2014-06-26 44 views
0

我嘗試根據數據庫中的更改值獲取Deps.autorun函數。我的目標是每當這個值改變時運行一個函數,而不是在我的代碼中進行大量的方法調用。基於數據庫中chaning值的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

你應該看看流星文檔中的observeChanges。 試試這個。

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

太棒了。甚至沒有考慮查看文檔的光標部分。謝謝! – swennemen

相關問題