我有一个关于何时将新文档添加到mongodb
的问题我有一个订单对象,可以在流星方法调用后添加到服务器端。
我有一个名为'incomingOrders'的管理页面订阅所有订单。
我想做的是,当在网页上插入新订单时,只需播放声音。
我的客户端集合更新了新订单,但我需要它来显示某种警报(即警报框,声音,闪烁的屏幕!!!)
我怎么会这样做? 是否有一个事件可以在插入我可以订阅的新文档时触发?
我没有经过代码测试,因为我不知道该怎么做。
答案 0 :(得分:1)
所以我找到了问题的答案
当文档添加到我的集合中时,我使用cursor.observe
函数来观察。
Template['incomingOrders'].helpers({
orders:function(){
var cursor = Orders.find({},{sort: {createdAt: -1}});
// watch the cursor for changes
var handle = cursor.observe({
added:function(order){
if(!initializing){
console.log('order from handle');
console.log(order);
document.getElementById('xyz').play();
}
}
});
return cursor;
}
});
我有一个初始化检查(在模板的渲染函数中设置为false),因为在模板渲染时,似乎会在每个元素上调用此函数。然后我只是在音频元素上调用play来提醒我添加一个新文档。
如果有更好的方法,请通知我!