sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo leer/escribir un documento en ejecución paralela con mongoDB/mongoose

sí, necesita un mejor bloqueo en el modelo de casa, para indicar que hay un complemento en curso.

El problema es que varias solicitudes pueden llamar a findById y ver la misma casa.elementos.longitud, luego cada una determina, en función de esa instantánea (obsoleta), que está bien agregar un elemento más. El límite de atomicidad de nodejs es la devolución de llamada; entre una llamada asíncrona y su devolución de llamada, se pueden ejecutar otras solicitudes.

Una solución fácil es rastrear no solo la cantidad de elementos en la casa, sino también la cantidad de elementos adicionales previstos. Al ingresar a addItem, aumente el conteo de "quiero agregar más" y pruébelo.