我在MeteorJS中使用MongoDB,我想知道是否可以观察字段值? 我知道我们可以观察文档更新,创建或删除,但我不了解字段值。
我的每个文档都有一个名为time_next_action
的字段(带有Javascript日期值),我希望在此属性过去时更新每个文档。
实际上我有一个2次/秒的间隔,但是:
Collection.find({})
这是我的实际代码(但我不喜欢)
Meteor.setInterval(function() {
beginIntervals();
}, 500);
let beginIntervals = function() {
let now = new Date()
let games = Games.find({time_next_action: {'$lt': now}}).fetch()
_.each(games, game => {
/* Do something */
Games.update(game._id, {'$set': update})
})
}
答案 0 :(得分:1)
使用remcoder:chronos包定义被动时间变量,然后将更新包装在Tracker.autorun
中:
let now = Chronos.currentTime();
Tracker.autorun(function(){
let games = Games.find({ time_next_action: { $lt: now }}).fetch();
_.each(games, game => {
/* Do something */
Games.update(game._id, {'$set': update})
})
});
然而效果与您的代码基本相同,只是更简洁一点。 Chronos将每秒更新一次响应时间(可更改),这将导致跟踪器触发,这将运行查找,然后进行更新。