Der er et par punkter om dette spørgsmål.
-
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() ellerupdate()kommandoer, eller brugset_lasterror_options()for at indstille disse indstillinger for den forbindelse, database eller samling, du bruger. -
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.
-
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.
-
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.