$isolated
toma un bloqueo de escritura hasta que la escritura se completa o encuentra un error, y no produce el bloqueo durante el procesamiento. Esto evita otras lecturas y escrituras. no proporcionar atomicidad de todo o nada porque, si se produce un error en el documento 32756, se mantendrán las actualizaciones 32755 anteriores. No hay reversión; la actualización no es atómica. La actualización está aislada.
Sin embargo, esto no ayudará al OP, ya que es su propia actualización la que está moviendo documentos (a través de $push
) y haciendo que sean golpeados dos veces. Use una ordenación en un campo indexado; siempre tienes _id
.