Tengo una aplicación Node.js que está creando una 'unidad' en la base de datos bajo un 'edificio' que está guardando dos 'unidades' dentro de la matriz incluida en 'edificio'. Ambos son idénticos tanto en los datos como en la marca de tiempo creada. ¿Alguien tiene una idea de por qué el siguiente código podría estar causando que esto suceda? Estoy un poco confundido con eso. No veo cómo sería agregar dos objetos a la matriz. El código no se ejecuta dos veces, lo verifiqué con console.log() y solo miré mis registros de API.
await Building.findOneAndUpdate( {buildingID}, {"$push": {units: unitData}}, (err, doc) => { if(err) { logger.error(`POST unit/new save error for unit: ${unitID} - error message: `, err) return res.json({success: false, err, message: 'Error saving new unit, please try again'}) } logger.debug('POST unit/new save() doc: ', doc) return res.json({success: true, message: `Successfully saved new unit with ID of: ${unitID}`, unitData}) } )Terminé resolviéndolo, cuando hay una espera y una devolución de llamada, guardará los datos dos veces. Este es un problema documentado en la documentación de MongoDB.