sql >> Databasteknik >  >> NoSQL >> MongoDB

läser data från specifika noder i mongo-replikuppsättning

Det bästa sättet är att använda taggar som anges i mongodb manual.

https://docs.mongodb.com/manual/ tutorial/configure-repica-set-tag-sets/

conf = rs.conf()
conf.members[0].tags = { "offline": "false"}
conf.members[1].tags = { "offline": "false"}
conf.members[2].tags = { "offline": "true"}
rs.reconfig(conf)

I klienten ställer du bara in läspreferensen till den taggen

    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);



  1. Ställ in lagringsplatsen för MongoDB installerad på AWS EC2 Instance till EBS-lagring. Och hur återställer jag den efter att instans har stoppats/avslutats?

  2. Hur inkluderar man endast valda inbäddade dokument i mongoengine?

  3. Alamofire med lokalvärdanslutningsproblem

  4. Problem med Google Compute Engine safe_format_mount - ange filsystemstypfelet