MongoDB · Lección 04
¿Qué ventajas tienen los operadores de actualización como $set, $inc o $push?
Una actualización que toca varios campos del mismo documento puede quedar aplicada solo a medias si otro cliente lo lee a mitad
Para modificar un campo hay que leer el documento completo en la aplicación, cambiarlo y guardarlo entero, porque no existen operadores de actualización parcial
Modifican campos concretos de forma atómica en el servidor sin reescribir el documento entero desde la aplicación; con upsert se inserta si no existe, y una actualización de un solo documento es atómica incluso si toca campos anidados o arrays
$inc lee el valor, lo envía a la aplicación y lo escribe de nuevo en dos operaciones separadas, por lo que dos clientes pueden pisarse el contador
MongoDB · Lección 04
Completa el código
El operador que suma a un contador es $
Revisa: $inc.
MongoDB · Lección 04
¿Por qué $inc es más seguro que leer, sumar y escribir desde la aplicación?
Pista: la operación se ejecuta de forma atómica en el servidor sin que otro cliente intercale cambios; leer y escribir por separado permite que dos clientes pisen el mismo valor, es decir, una condición de carrera.
✓
¡Lección completada!
Operadores de actualización y atomicidad por documento
0
XP ganado
3
Vidas restantes