NodeJS 和 MongoDB:有没有办法监听集合并在集合有新文档时调用回调?
Posted
技术标签:
【中文标题】NodeJS 和 MongoDB:有没有办法监听集合并在集合有新文档时调用回调?【英文标题】:NodeJS and MongoDB: Is there a way to listen to a collection and have an callback be called when a collection has new document? 【发布时间】:2012-02-06 13:39:14 【问题描述】:有没有办法监听 MongoDB 集合并在集合有新文档时触发回调?
【问题讨论】:
【参考方案1】:看起来还没有办法。在“触发器”JIRA中有很多关于相关主题的讨论: https://jira.mongodb.org/browse/SERVER-124
您可以通过使用时间戳或计数进行轮询来解决此问题,但事件回调显然会更好。
【讨论】:
呃,sux。所以我唯一的方法是真正做一个插入到节点的权利。因为当我插入时,我可以传入一个回调,当插入返回时将被调用? 我不确定你到底想做什么,但这是一种回调的方式。你能提供更多细节吗?【参考方案2】:没有来自数据库的任何主动推送,但您可以挂接到复制。
假设您有一个replica set(您不会运行单个 mongod,对吗?)。
每个更改都会写入主服务器上的oplog,然后复制到辅助服务器。
您可以使用 tailable cursors 从 oplog 中高效地提取新更改(插入和更新)。请注意,这仍然是拉,而不是推。
【讨论】:
以上是关于NodeJS 和 MongoDB:有没有办法监听集合并在集合有新文档时调用回调?的主要内容,如果未能解决你的问题,请参考以下文章