sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB+Azure+Android:Chyba:com.mongodb.MongoException:nemluví s masterem a opakované pokusy jsou vyčerpány

Důvodem občasných chyb jsou výchozí předvolby čtení pro ovladač, zejména pokud jde o sady replik. Výchozí preference čtení je primární. Pro každý z níže uvedených režimů se PRIMARY vztahuje na hlavní databázi (vždy nejaktuálnější) a SEKUNDÁRNÍ na podřízenou(é) jednotku(y), které jsou v podstatě kopiemi hlavní databáze a nejsou vždy aktuální.

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

Řešení pro změnu předvolby čtení na jednu z následujících:

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.

Příklad kódu:

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

Další informace naleznete ve zdroji .




  1. MongoError:topologie byla zničena sailsjs

  2. Jak funguje MongoDB $text search?

  3. Jak uložit a ukončit redis.conf?

  4. nodejs získat výsledky hledání v mongodb