使用Node.js监视Mongo的更改

Jos*_*h K 27 javascript database events mongodb node.js

我正在使用Node.js进行一些项目工作,我想监视我的Mongo数据库(集合)是否有变化,基本上如果有东西被添加就会触发一个事件.

任何人都知道这是否可行?我正在使用node-mongodb-native驱动程序.

如果不是,我也喜欢将数据从服务器(运行node)推送到客户端浏览器的任何可用指针.

fbu*_*ger 3

问题是所有数据是否都通过 Node.js 应用程序添加到数据库中。如果是这样,您可以使用node.js的EventEmitter类来触发事件(http://nodejs.org/api.html#eventemitter-14)。

如果数据库由其他应用程序填充,事情就会变得困难。在这种情况下,您将需要诸如数据库触发器之类的东西,据我所知,MongoDB 中尚未提供该触发器。

一旦 HTML 5 websockets API 进入所有主要浏览器,就可以将事件推送到客户端(又名 Comet)。

与此同时,您只能尝试使用(长期)AJAX 轮询、永远框架等技术来模拟这种行为,但它们都有其弱点。