异常描述
如果在MongoDB的SECONDARY上查询数据时会报如下错误信息:
1 2 3 4 5 6 7
| > show databases; 2018-09-20T17:40:55.377+0800 E QUERY [thread1] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not master and slaveOk=false", "code" : 13435 } : _getErrorWithCode@src/mongo/shell/utils.js:25:13 Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1 shellHelper.show@src/mongo/shell/utils.js:781:19 shellHelper@src/mongo/shell/utils.js:671:15 @(shellhelp2):1:1
|
Mongo Shell设置
如果在Mongo Shell中可以通过下面的命令允许从SECONDARY上查询数据:
JDBC设置
示例代码如下:
1 2
| MongoClientOptions opts = (new MongoClientOptions.Builder().readPreference(ReadPreference.secondary())).build(); MongoClient mongoClient = new MongoClient(${host}, opts);
|