Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.2K
Vistas
MongoError: no se puede llamar a abortTransaction dos veces; MongoError: no se puede llamar a abortTransaction después de llamar a commitTransaction

Cuando ejecuto la ruta de send , tengo un error: MongoError: Cannot call abortTransaction twice y MongoError: Cannot call abortTransaction after calling commitTransaction .

Tengo dos colecciones car y color . Y al mismo tiempo quiero agregar a las matrices: car.colors.push(model); color.brands.push(year); y guardar en la base de datos. Pero quiero usar withTransaction y session de mongoose. No quiero la situación que debido a un error, car.colors.push(model); se guardará en la base de datos, pero color.brands.push(year); no se salvará.

 module.exports.send = async (req, res) => { const sess = await mongoose.startSession(); if(role === 'car') { try { await sess.withTransaction(async () => { const car = await Cars.findOne({ _id: sender}); const color = await Colors.findOne({_id: keeper}); let model = { contentInfo : { msg : msg } }; let year = { contentInfo : { msg : msg } } car.colors.push(model); color.brands.push(year); await car.save({session: sess}); await color.save({session: sess}); await sess.commitTransaction(); sess.endSession(); return res.json(car); }); } catch (error) { await sess.abortTransaction(); sess.endSession(); throw error; } } }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Intenta atrapar podría estar dentro de withTransaction

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda