检查数据是否已更新

时间:2016-01-06 13:36:19

标签: javascript mongodb meteor

我和meteor和mongodb进行了一次工作聊天,但是当有新消息时我想播放声音或其他东西。但是,我不知道如何检查数据是否更新。我可以通过计算更新前后的消息来检查是否有新消息,但我只是不知道如何检查更新。

所以我的问题是:如何检查数据中的更新?

2 个答案:

答案 0 :(得分:1)

我有一个网站需要在新邮件到达时弹出一个toastr警报。我的收藏名为" Alerts"。这就是我的工作:

 Alerts.find({notified: false}).observeChanges({
    added: function(id, doc) {
        Alerts.update(id, {
            $set: {
                notified: true
            }
        });
        toastr.info(foo, bar);
    }
 });

每当创建一个新警报时,其字段"已通知"如果为false,将创建一个toastr警报,并将该警报标记为"通知:true"。

或者你可以做同样的事情,但创建一个单独的"通知"在观察时,它们也会从集合中删除,这些集合是聊天消息集合中的一个独特集合。

答案 1 :(得分:0)

您可以创建a tailing cursor on the oplog collection,这样只要数据库中的某些内容(任何内容!)发生变化,您就会获得一个新文档。但这并不是一个优雅的解决方案,因为该处理程序需要处理大量垃圾。

将消息写入数据库的例程也可能更好地通知任何当前在线用户。没有充分的理由绕过数据库。

相关问题