我有一个关于何时将新文档添加到MongoDB的问题
我有一个order对象,可以在meteor方法调用后添加到服务器端。
我有一个名为“incomingorders”的管理页面,订阅所有订单。
我想做的是,在这个页面上播放一个声音,当一个新的订单被插入到数据库中时。
我的客户端收藏更新了新订单,但我需要它显示某种警报(即警报框、声音、闪烁屏幕!)!!!)
我该怎么做呢?
插入新文档时是否有可以触发的事件,我可以订阅该事件?
我没有测试过代码,因为我不知道怎么做。

最佳答案

所以我找到了我问题的答案
当文档添加到我的集合时,我使用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),因为在模板呈现时似乎对每个元素都调用此函数。然后我只需调用一个音频元素来提醒我添加了一个新文档。
如果有更好的方法,请通知我!

07-24 17:56
查看更多