【问题标题】:NodeJS and MongoDB: Is there a way to listen to a collection and have an callback be called when a collection has new document?NodeJS 和 MongoDB:有没有办法监听集合并在集合有新文档时调用回调?
【发布时间】:2012-02-06 13:39:14
【问题描述】:

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

【问题讨论】:

    标签: node.js mongodb socket.io


    【解决方案1】:

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

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

    【讨论】:

    • 呃,sux。所以我唯一的方法是真正做一个插入到节点的权利。因为当我插入时,我可以传入一个回调,当插入返回时将被调用?
    • 我不确定你到底想做什么,但这是一种回调的方式。你能提供更多细节吗?
    【解决方案2】:

    没有来自数据库的任何主动推送,但您可以挂接到复制。

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

    每个更改都会写入主服务器上的oplog,然后复制到辅助服务器。

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

    【讨论】:

      猜你喜欢
      • 2020-01-22
      • 1970-01-01
      • 1970-01-01
      • 2022-10-12
      • 1970-01-01
      • 2020-02-27
      • 1970-01-01
      • 2014-01-23
      • 1970-01-01
      相关资源
      最近更新 更多