我们最近将mongo从2.4升级到2.6,并注意到我们的连接代码与主要主机保持一致,而不是连接到辅助主机。这是尽管有以下命令。
var connectHost = "rsComplex/complex0,complex1,complex2/data";
var mainDB = connect(connectHost);
mainDB.getMongo().setReadPref("secondary");
mainDB.isMaster() produces
Is Master
{
"setName" : "rsComplex",
"setVersion" : 77003,
"ismaster" : true,
"secondary" : false,
"hosts" : [
"complex1:27017",
"complex0:27017",
"complex2:27017"
],
"primary" : "complex1:27017",
"me" : "complex1:27017",
"maxBsonObjectSize" : 16777216,
"maxMessageSizeBytes" : 48000000,
"maxWriteBatchSize" : 1000,
"localTime" : ISODate("2014-11-19T16:23:21.612Z"),
"maxWireVersion" : 2,
"minWireVersion" : 0,
"ok" : 1
}
我们还使用以前工作过的db.setSlaveOk()。
这是预期的吗?在2.4中,我会看到 - master:false,而我!= primary。
谢谢,