MongoDB:如何设置slaveOk = true是否设置

时间:2013-01-29 10:54:55

标签: mongodb

我们在我们的应用程序中使用Mongo DB。 为此目的,我们有一个主要和一个次要。

如何确保我的应用程序正在读取主要或次要数据?

我的问题是如何知道slaveOk = true是否设置?

提前致谢。

已编辑的部分

不确定司机我的意思 我正在通过Java连接Mongo DB,如图所示

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

请让我知道如何找到我正在使用的驱动程序?

2 个答案:

答案 0 :(得分: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()

请参阅此问题:How to perform read operations from primary only

有设置阅读偏好的答案

mongo.setReadPreference(ReadPreference.primary());

你的答案是获得阅读偏好:

mongo.getReadPreference().isSlaveOk();

不幸的是,2.4之后的版本中不存在这些功能。

答案 1 :(得分:0)

看起来像早期的java驱动程序只有mongo.slaveOk()方法,调用它并且它是slaveOk。没办法检查。