1
私は 'mongos'コンソールからクエリを起動でき、読み込みがプライマリにヒットすることがあります。 rs.slaveOk();
を正常に実行してから、同じクエリを実行して、読み取りがセカンダリにヒットしたことを確認できます。なぜMongoidはシャード環境でmongosにslaveOkを送信しないのですか?
問題は、何を試しても、私はでセカンダリにヒットすることができないということです。 slaveOk
を送信していないようです。私はread: :secondary
をmongoid.ymlに設定しようとしましたが、read_secondary: true
も試しましたが、基本的な接続はレプリカセットではないので、モンゴイドがそれを無視している理由を考えています。
mongoidを動作させるには、他にも(自分の接続プールを作成して:slave_ok
を設定することはできません)ですか?私は、いくつかの魔法の文書化されていないyml設定が欠けていますか?
私たちの本当の問題はmongoidのYMLに、我々は代わりに「ホスト」を指定したことでした「ホスト」の私たちはローカルでモンゴとしか話していないので、我々はちょうど 'ホスト'仕様が必要だと思った。しかし、これにより、レプリカセット接続の代わりに通常のmongo接続として接続が確立されるため、slaveOkは送信されませんでした。 –