我可以从'mongos'控制台发出查询,并看到读取的内容是初选。我可以成功执行rs.slaveOk();
然后触发相同的查询,并看到读取到了第二个。
问题在于,无论我尝试什么,我都无法在Mongoid中获得查询以获得第二部分。它似乎没有发送slaveOk
。我已尝试在 mongoid.yml 中设置read: :secondary
,我也尝试read_secondary: true
,但底层连接不是副本设置,所以我在想这就是为什么mongoid无视它。
还有其他方法(除了创建我自己的连接池并设置:slave_ok
)我可以让mongoid工作吗?我错过了一些神奇的无证yml设置吗?
答案 0 :(得分:2)
由于Mongoid连接到单个mongos路由器,只需在mongoid.yml中的主机名条目下添加以下行:
slave_ok: true