Node.js监听MongoDB的变化

mur*_*lai 5 listen watch mongodb node.js

Node.js是否有办法监听MongoDB集合中特定数据的变化,并在发生变化时触发事件?

Bra*_*don 14

嗯,这是一个老问题,但我正在努力做同样的事情.我找到了一些帮助我整理解决方案的花絮,我把它作为一个库发布:

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

该库是用coffeescript编写的.这是javascript中的一个例子,对于那些喜欢的人.

var MongoWatch = require('mongo-watch'),
    watcher = new MongoWatch({parser: 'pretty'});

watcher.watch('test.users', function(event) {
  return console.log('something changed:', event);
});
Run Code Online (Sandbox Code Playgroud)


mae*_*ics 2

MongoDB 显然现在支持触发器和监视,这个答案已经过时了。

[原创]我相信您正在寻找数据库触发器

不幸的是,MongoDB 还不支持它们,所以我认为你不能直接从数据库监听更改。您需要设置某种通知系统(例如发布/订阅),以便在集合发生更改时向感兴趣的各方发出警报。