我正在构建一个从 mongodb 集合中抛出数据的小型系统,它已经可以正常工作,但是每次进行更改时都必须重新启动它。我已经有一个监视器可以检测更改并自动重新启动服务器,但我想对 mongodb 更改执行类似的操作。我目前正在使用 CentOs 5、Nginx、uWsgi 和 python2.7。
问问题
1901 次
1 回答
4
我会考虑使用tailable cursors,它们在到达集合末尾后仍然保持活动状态,并且可以阻塞直到有新对象可用。
使用PyMongo,您可以调用Collection.find
一个tailable=True
选项来启用此行为。这篇博文给出了一些很好的例子来说明它的用法。
此外,您可能希望查询数据库的oplog ,而不是只查询集合,它只会提醒您添加到该集合中的新对象,它是对数据库中任何集合调用的所有插入、更新和删除的集合. 请注意,必须为 mongo 启用复制才能保留 oplog。查看这篇博文,了解有关 oplog 和启用复制的信息。
于 2012-12-10T21:07:47.937 回答