MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

четене на данни от конкретни възли в комплекта реплики на mongo

Най-добрият начин е да използвате тагове, както е посочено в ръководството на mongodb.

https://docs.mongodb.com/manual/ tutorial/configure-replica-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)

В клиента просто задавате предпочитанието за четене на този етикет

    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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. СРЕДНО Качване на стекови файлове

  2. Каква е най-добрата практика за свързване/прекъсване на връзката с база данни?

  3. mongodb индекси, покриващи липсващи стойности

  4. MongoDB:няма памет

  5. Mongoose - RangeError:Максималният размер на стека от обаждания е превишен