在mongodb中为新插入文件收集订户的流星事件

时间:2015-03-13 00:23:03

标签: javascript mongodb meteor

我有一个关于何时将新文档添加到mongodb

的问题

我有一个订单对象,可以在流星方法调用后添加到服务器端。

我有一个名为'incomingOrders'的管理页面订阅所有订单。

我想做的是,当在网页上插入新订单时,只需播放声音。

我的客户端集合更新了新订单,但我需要它来显示某种警报(即警报框,声音,闪烁的屏幕!!!)

我怎么会这样做? 是否有一个事件可以在插入我可以订阅的新文档时触发?

我没有经过代码测试,因为我不知道该怎么做。

1 个答案:

答案 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来提醒我添加一个新文档。

如果有更好的方法,请通知我!