NodeJS和MongoDB:当集合有新文档时,有没有办法监听集合并调用回调?

时间:2012-01-10 03:40:01

标签: node.js mongodb socket.io

有没有办法监听MongoDB集合并在集合有新文档时触发回调?

2 个答案:

答案 0 :(得分:1)

看起来还没有办法。关于相关主题的“触发器”JIRA中有很多讨论: https://jira.mongodb.org/browse/SERVER-124

您可以通过使用时间戳或计数进行轮询来解决此问题,但事件回调显然会更好。

答案 1 :(得分:1)

数据库没有任何活动推送,但您可以挂钩复制。

假设你有一个replica set(你不会运行单个mongod,不是吗?)。

每次更改都会写入主要内容的oplog,然后会复制到次要内容。

您可以使用tailable cursors从oplog中有效地提取新更改(插入和更新)。注意,这仍然是拉动,而不是推动。