MongoDB实时查询

MongoDB realtime query

我听说过 RethinkDB,因为我正在开发一款多人在线游戏,所以我认为如果 MongoDB 推动 更改(比如说新行)而不是 拉取 行,服务器端和客户端都会快得多。

是否有任何包装器或技术可以对 MongoDB 进行实时查询?

您可以利用 tailable cursors on capped collections。在最低级别,这需要首先将所有更改写入上限集合,然后让某种工作人员应用它们(事件源模式)。这是应用程序架构的重大变化,因此它可能不是您想要的。

更通用的方法是观察oplog,这是一个特殊的上限集合,用于同步主节点和辅助节点,包含对文档执行的所有操作, 因此不需要更改应用程序架构。

不过,这比 RethinkDB 公开的内容要低一些,特别是因为您需要执行差异。有 wrappers that can hide some of the complexity, but I haven't used them and I don't know what programming language you're using. Oplog monitoring is used, for example, by Meteor,它几乎建立在 publish/subscribe 的基础上,隐藏了大部分的复杂性,所以它通常是可能的,尽管它看起来比 RethinkDB 更复杂。