Node.js监听MongoDB的变化

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

  • 可以在node.js模块中asynchronous初始化导出吗?
  • 在mongodb中列出Moustache.js和bson数据
  • 使用MongoClient v3.0时,db.collection不是一个函数
  • 灵活的字段input到graphql
  • 等待mongo写入,然后再从find中返回
  • Node.jsfile upload到Gridfs - 错误:请求中止
  • 如何正确使用node.js将新元素推送到mongodb数组
  • 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的细节。