我有一个包含状态消息的集合。我想只显示UI中最近5秒内已更改的那些消息。
Template.myTemplate.helpers({
results: function() {
var name = Session.get('someSessionVar');
var results = myCollection.find({
name: name,
createdAt: { // 5 seconds ago
$gt: new Date().getTime() - 1000 * 5
}
}, {sort:{createdAt: 1}});
return results;
},
}
这基本上有效但只是在someSessionVar
更改时才更新查询。因此,它始终显示在方法首次执行前5秒更改的集合项,或者比someSessionVar
更改时间早5秒更改的集合项。
据我所知,它只是基于someSessionVar
的反应。我的问题是,按时间过滤物品的最佳方法是什么?我只需要一个间隔并将当前时间写入会话var。有更优雅的解决方案吗?我想知道这是不是给客户增加了不必要的负担。