Почему Mongoid не отправляет slaveOk в монго в закрытой среде? - PullRequest
2 голосов
/ 08 ноября 2011

Я могу запускать запросы с консоли 'mongos' и видеть, как чтение попадает в праймериз.Я могу успешно выполнить rs.slaveOk();, а затем запустить те же запросы, и увидеть, что чтение попало во вторичные.

Проблема в том, что, что бы я ни пытался, я не могу получить запросы в Mongoid , чтобы поразить вторичных.Похоже, что он не отправляет slaveOk.Я попытался установить read: :secondary в mongoid.yml , и я также попытался read_secondary: true, но базовое соединение не является установкой реплики, поэтому я думаю, что именно поэтому mongoid игнорируетЭто.

Есть ли другой способ (кроме создания собственного пула соединений и установки :slave_ok), чтобы я мог заставить работать mongoid?Я скучаю по магическим недокументированным настройкам yml?

1 Ответ

2 голосов
/ 10 ноября 2011

Поскольку Mongoid подключается к одному маршрутизатору mongos, просто добавьте следующую строку ниже записи имени хоста в mongoid.yml:

slave_ok: true
...