sql >> Database teknologi >  >> NoSQL >> MongoDB

mongodb, replikater og fejl:{ $err :not master and slaveOk=false, code :13435 }

Du skal indstille "sekundær okay"-tilstand for at lade mongo-skallen vide, at du tillader læsninger fra en sekundær. Dette er for at beskytte dig og dine applikationer mod at udføre ensartede læsninger ved et uheld. Du kan gøre dette i skallen med:

rs.secondaryOk()

Derefter kan du forespørge normalt fra sekundære.

En bemærkning om "eventuel konsistens":Under normale omstændigheder har sekundære replikasæt alle de samme data som primære inden for et sekund eller mindre. Under meget høj belastning kan data, du har skrevet til den primære, tage et stykke tid at replikere til de sekundære. Dette er kendt som "replika lag", og læsning fra en efterslæbende sekundær læsning er kendt som en "efterhånden konsistent" læsning, fordi selvom de nyskrevne data vil dukke op på et tidspunkt (bortset fra netværksfejl osv.), er det muligvis ikke umiddelbart tilgængelig.

Rediger: Du behøver kun at indstille secondaryOk når du forespørger fra sekundære, og kun én gang pr. session.



  1. Hvis selleriarbejderen dør hårdt, bliver jobbet så prøvet igen?

  2. Er der nogen måde at atomisk opdatere to samlinger i MongoDB?

  3. Vedligeholdelse af MongoDB Replica Sets i skyen ved hjælp af Ansible

  4. Er redis-operationer på datastrukturer trådsikre