Node.js监听MongoDB的变化

有没有一种方法让Node.js监听MongoDB集合中特定数据的变化,并在发生变化时触发事件?

我相信你正在寻找一个数据库触发器 。

不幸的是,MongoDB目前还不支持它们,所以我不认为你可以直接从数据库监听更改。 您需要设置某种通知系统(例如发布/订阅),以便在collections发生变化时通知相关方。

那么这是一个古老的问题,但是我也在为同样的事情而苦苦挣扎。 我发现了一些小技巧,帮助我制定了一个解决scheme,并将其作为一个库发布:

https://github.com/TorchlightSoftware/mongo-watch

图书馆是用咖啡书写的。 这里是一个JavaScript的例子,对于那些喜欢。

var MongoWatch = require('mongo-watch'), watcher = new MongoWatch({parser: 'pretty'}); watcher.watch('test.users', function(event) { return console.log('something changed:', event); }); 

那么晚了。
但是,如果有人希望通知MongoDB更改为node.js,那么他们可以使用mubsub库。

这是活跃的库,很容易与nodejs集成。 它使用了Mongo的可玩的游标和封面集合。
它以pub / sub方式工作,当文档插入MongoDB时通知用户。

检查Github的细节。