Soy nuevo en el mundo de mongoose y NodeJs, mi problema ocurre cuando realizo una actualización, efectivamente la actualización se realiza en la base de datos pero tiempo después vuelve a ocurrir.
Realizo la actualización de la siguiente manera
router.post("/deleteLead", (req, res) => { console.log("----------- delete lead -------"); const body = req.body; deleteLead(body); }); async function deleteLead(body) { const id_delete = body.leads.delete[0].id; const deleteLead = await Model_Lead.updateOne( { id: id_delete }, { is_deleted: true, } ); console.log(deleteLead); };este es el registro de mi aplicación cuando actualizo un prospecto
----------- delete Lead ------- { acknowledged: true, modifiedCount: 1, upsertedId: null, upsertedCount: 0, matchedCount: 1 } { acknowledged: true, modifiedCount: 1, upsertedId: null, upsertedCount: 0, matchedCount: 1 } ----------- delete Lead ------- { acknowledged: true, modifiedCount: 1, upsertedId: null, upsertedCount: 0, matchedCount: 1 } ----------- delete Lead ------- { acknowledged: true, modifiedCount: 1, upsertedId: null, upsertedCount: 0, matchedCount: 1 } ----------- delete Lead ------- { acknowledged: true, modifiedCount: 1, upsertedId: null, upsertedCount: 0, matchedCount: 1 }No está esperando el resultado de su llamada deleteLead . Esto significa que su controlador simplemente enviará la solicitud y seguirá adelante.
Cuando la solicitud se resuelve, puede suceder mientras otro controlador está en proceso de ejecución, lo que daría como resultado que los resultados de la consulta se registren de una manera que parezca que su controlador golpeó MongoDB más de una vez, cuando en realidad no lo hizo.