MongoDB安全写入问题

MongoDB安全写入问题,mongodb,ruby-on-rails-3.2,mongoid,Mongodb,Ruby On Rails 3.2,Mongoid,我们已经注意到这个问题,即正在安全写入数据库的数据在几秒钟后(比如说2秒钟)不可用。基本上,我们对web worker/请求中的集合进行一些安全写入,并期望数据可以从另一个进程Sidekiq workers获得 有人知道为什么会发生这种情况,或者有人见过MongoDB的类似行为吗 我们的应用程序是Rails 3.2.9/Ruby 1.9.3/Mongo 2.0.4。我们使用Mongoid作为ORM工具 以下是我们如何进行安全写入: 帐户。安全。保存 此外,此集合已启用分片,并且服务器上的负载很大

我们已经注意到这个问题,即正在安全写入数据库的数据在几秒钟后(比如说2秒钟)不可用。基本上,我们对web worker/请求中的集合进行一些安全写入,并期望数据可以从另一个进程Sidekiq workers获得

有人知道为什么会发生这种情况,或者有人见过MongoDB的类似行为吗

我们的应用程序是Rails 3.2.9/Ruby 1.9.3/Mongo 2.0.4。我们使用Mongoid作为ORM工具

以下是我们如何进行安全写入:

帐户。安全。保存

此外,此集合已启用分片,并且服务器上的负载很大

以下是我们使用的宝石:

gem 'mongo', '1.6.1'
gem 'mongoid', '2.4.10'

您遇到这种情况是因为存在每个连接队列。 这在使用连接池时很常见。
通过相同的连接,您将获得一致的结果。

在GitHub上查看此Mongoid问题:

这方面的里程碑是Mongoid 3.0.15——您使用的是2.4.10,它非常古老

我建议升级。。3.1已经过时了


哈哈-没关系-我只是从你的头像上意识到你打开了这个问题-

但我正在进行安全写入,这意味着无论我使用哪个连接读取数据,都要进行有保证的写入?您应该在mongoid GitHub页面上打开一个问题