sql >> Databasteknik >  >> NoSQL >> MongoDB

mongodb, repliker och fel:{ $err :inte master och slaveOk=false, kod :13435 }

Du måste ställa in "sekundärt okej"-läge för att låta mongoskalet veta att du tillåter läsningar från en sekundär. Detta för att skydda dig och dina applikationer från att utföra konsekventa läsningar av misstag. Du kan göra detta i skalet med:

rs.secondaryOk()

Efter det kan du fråga normalt från sekundärer.

En notering om "eventuell konsistens":under normala omständigheter har replikuppsättningens sekundärer alla samma data som primära inom en sekund eller mindre. Under mycket hög belastning kan data som du har skrivit till den primära ta ett tag att replikera till de sekundära. Detta är känt som "replikfördröjning", och läsning från en eftersläpande sekundär är känd som en "så småningom konsekvent" läsning, eftersom, även om nyskrivna data kommer att dyka upp någon gång (förutom nätverksfel, etc), kanske det inte är omedelbart tillgänglig.

Redigera: Du behöver bara ställa in secondaryOk när du frågar från sekundärer, och endast en gång per session.



  1. Konvertera BSON Type ObjectId till JSON (lagring i Mongodb) -Java

  2. Mest effektiva sättet att få flera hash i Redis?

  3. Hur frågar man kapslade objekt?

  4. Vad är nytt i MongoDB 4.4