sql >> Database >  >> NoSQL >> MongoDB

MongoDB+Azure+Android:Fout:com.mongodb.MongoException:niet praten met master en nieuwe pogingen opgebruikt

De reden voor de intermitterende fouten is vanwege de standaard leesvoorkeuren voor het stuurprogramma, voornamelijk met betrekking tot replicasets. De standaard leesvoorkeur is primair. Voor elk van de onderstaande modi verwijst PRIMARY naar de masterdatabase (altijd de meest up-to-date) en SECONDARY verwijst naar slave(s), die in feite de kopieën van master zijn en niet altijd up-to-date zijn.

PRIMARY: The default read mode. Read from primary only. Throw an error if
         primary is unavailable. Cannot be combined with tags.

De oplossing om de leesvoorkeur te wijzigen in een van de volgende:

PRIMARY PREFERRED: Read from primary if available, otherwise a secondary.
SECONDARY PREFERRED: Read from a secondary if available, otherwise read from the primary.
NEAREST: Read from any member node from the set of nodes which respond the fastest.

Voorbeeldcode:

// Use this when doing a read if you don't care if the data is always consistent.
// Change the following with secondaryPreferred() if you have high writes, so
// that you don't interfere with them.
ReadPreference preference = ReadPreference.primaryPreferred();
DBCursor cur = new DBCursor(collection, query, null, preference);

Zie voor meer informatie de bron .




  1. Mongoose detecteert database niet gereed

  2. make mislukt bij het installeren van mongo php-stuurprogramma op Centos 6

  3. Hoe kan ik de momenteel geverifieerde gebruiker-principal krijgen met lentebeveiliging en Redis in de lente-opstarttoepassing?

  4. Waarom zijn de prestaties van Redis SET beter dan GET?