मोंगोडब मैनुअल में बताए गए टैग का उपयोग करने का सबसे अच्छा तरीका है।
https://docs.mongodb.com/manual/ ट्यूटोरियल/कॉन्फ़िगर-प्रतिकृति-सेट-टैग-सेट/
conf = rs.conf()
conf.members[0].tags = { "offline": "false"}
conf.members[1].tags = { "offline": "false"}
conf.members[2].tags = { "offline": "true"}
rs.reconfig(conf)
क्लाइंट में, आप बस उस टैग के लिए रीड प्रेफरेंस सेट करते हैं
MongoClientOptions options = MongoClientOptions
.builder()
.connectionsPerHost(config.connectionLimit)
.readPreference(TaggableReadPreference.secondaryPreferred(new TagSet(new Tag("offline", "true"))))
.socketTimeout(config.socketTimeout)
.connectTimeout(config.connectionTimeout)
.build();
mongo = new MongoClient(NewsDAOConfig.parseAddresses(config.mongoAddress), options);