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

Læs-selv-skriver-konsistens i Mongodb

Der er et par punkter om dette spørgsmål.

  1. Du er ikke garanteret at have læs-efter-skriv-konsistens, medmindre du bruger enten "safe=true" , "w=1" (eller større) eller "j=true" med din skrivning. Du kan enten inkludere disse som en del af insert() eller update() kommandoer, eller brug set_lasterror_options() for at indstille disse indstillinger for den forbindelse, database eller samling, du bruger.

  2. Hvis du tillader læsninger fra sekundære noder (f.eks. en anden ReadPreference end PRIMÆR), får du ikke læs-efter-skriv-semantik, men kun eventuel konsistens.

  3. Hvis du bruger en ReadPreference af PRIMÆR, og du indstiller de passende lasterror-indstillinger, så er du garanteret at få læs-efter-skriv-semantik på alle operationer, der bruger den samme socket, det vil sige den samme tråd.

  4. Hvis du bruger flere tråde, og du IKKE læser fra sekundære noder, så er du garanteret læse-efter-skriv-konsistens, så længe du udsender læsningen i den anden tråd, efter at skrivningen er fuldført i den første tråd. Du kan bruge standard trådsynkroniseringsprimitiver for at sikre dette.



  1. har min meteor-app brug for både MONGO_OPLOG_URL og MONGO_URL

  2. fejl ved oprettelse af forbindelse til vært:kunne ikke oprette forbindelse til server:servervalgsfejl:servervalgstimeout aktuel topologi:Type:Enkelte servere

  3. Migrering af MongoDB til DynamoDB, del 2

  4. kører flere forekomster af mongod as service