我正在为我的一些项目使用MongoDB,它运行正常.
我听说过RethinkDB,因为我正在开发一个多玩家在线游戏,我认为如果MongoDB推动更改(让我们说新行)而不是拉行,那么服务器端和客户端都会快得多.
是否有任何包装器或技术可以对MongoDB进行实时查询?
最佳答案 您可以在
capped collections上使用
tailable cursors.在最低级别,这需要首先将所有更改写入上限集合,然后由某种工作人员应用它们(事件源模式).这是应用程序架构的一个严重变化,所以它可能不是你想要的.
更通用的方法是观察oplog,这是一个特殊的上限集合,用于同步主节点和辅助节点,并包含对文档执行的所有操作,因此不需要更改应用程序体系结构.
尽管如此,这比RethinkDB暴露的更低级,特别是因为你需要执行差异.有wrappers可以隐藏一些复杂性,但我没有使用它们,我不知道你正在使用什么编程语言. Oplog monitoring是used, for example, by Meteor,它基于发布/订阅,并且隐藏了大部分的复杂性,所以它通常是可能的,虽然它看起来比使用RethinkDB更复杂.