Recibo este error de versión en MongoDB debido al método save() . Investigué un poco al respecto y llegué a saber que el método de guardado utiliza el control de versiones. Para omitirlo, podemos usar el método de actualización, pero al usar la actualización, recibo otro error "Realizar una actualización en la ruta '_id' modificaría el campo inmutable '_id".
¿Hay alguna otra forma de resolver este error de versión?
ejemplo de código:
let fileDoc = await File.findById(req.params.id); fileDoc.history.unshift({ user: req.user._id, status: status, createdAt: new Date() }); if (is_false_reject) { fileDoc.isFalseReject = is_false_reject; fileDoc.falseRejectedAt = new Date(); } fileDoc.status = status; fileDoc.comment = comment; await fileDoc.save();Error por el método save(): VersionError: No se encontró ningún documento coincidente para id "e6a83b9b-42be-41b7-87ed-e21eff052c61.pdf" versión 2 modificadoPaths "historial, estado" en generateVersionError (/home/node/app/node_modules/mongoose/ lib/model.js:439:10) en model.Model.save (/home/node/app/node_modules/mongoose/lib/model.js:495:28) en /home/node/app/helpers/file. js:525:23 en runMicrotasks () en processTicksAndRejections (node:internal/process/task_queues:94:5) { versión: 2, rutas modificadas: [ 'historial', 'estado' ]
Consulte https://mongoosejs.com/docs/guide.html#versionKey
Podemos deshabilitar la clave de versión en mongoose, pero esa no es una buena práctica. Revise la documentación.
Si tiene problemas después de esta solución, comente, haré todo lo posible para resolver su problema.