1

Application で Mongo DB を使用しています。この目的のために、1 つのプライマリと 1 つのセカンダリがあります。

アプリケーションがプライマリまたはセカンダリからデータを読み取っていることを確認するにはどうすればよいですか??

私の質問は、slaveOk=true が設定されているかどうかをどのように知ることができますか??

前もって感謝します 。

編集部分

ドライバーが何を使用しているのかわからない

ServerAddress addr = new ServerAddress(new InetSocketAddress(host, port));
servAddrList.add(addr);
}
MongoOptions options = new MongoOptions();
options.autoConnectRetry = true;
options.connectionsPerHost = Config.intParam(
"mongo.connectionsPerHost", 1200);      
mongo = new Mongo("10.11.13.111", 27017);

そして、私はmongo 2.4.jarを使用しています

使用しているドライバーを見つける方法を教えてください??

4

2 に答える 2

1

私の意見であなたが探しているのは readPreference です: http://docs.mongodb.org/manual/applications/replication/#replica-set-read-preference

API ( http://api.mongodb.org/java/2.10.1/com/mongodb/ReadPreference.html ) のドキュメントには、 isSlaveOk() メソッドがあります: http://api.mongodb.org/java/2.10 .1/com/mongodb/ReadPreference.html#isSlaveOk()

この質問を参照してください:プライマリのみから読み取り操作を実行する方法

読み取り設定を設定するための答えがあります

mongo.setReadPreference(ReadPreference.primary());

あなたの答えは、読み取り設定を取得することです:

mongo.getReadPreference().isSlaveOk();

残念ながら、これらの機能は 2.4 以降のバージョンには存在しません。

于 2013-01-29T16:53:33.417 に答える
0

以前のJavaドライバーにはmongo.slaveOk()メソッドがあり、それを呼び出して、slaveOkであるように見えます。調べる方法はありません。

于 2013-01-29T11:34:39.017 に答える