$isolated
tager en skrivelås, indtil skrivningen er fuldført eller støder på en fejl, og den giver ikke låsen under behandlingen. Dette forhindrer anden læsning og skrivning. Det gør den ikke give alt-eller-intet atomicitet, fordi hvis der opstår en fejl på det 32756. dokument, vil de tidligere 32755 opdateringer forblive. Der er ingen tilbagerulning; opdateringen er ikke atomær. Opdateringen er isoleret.
Dette vil dog ikke hjælpe OP, da det er hans egen opdatering, der flytter dokumenter (via $push
) og får dem til at blive ramt to gange. Brug en sortering på et indekseret felt; du har altid _id
.