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

122
Vistas
Eliminar varias filas y luego insertar varias filas usando Bookshelf/Knex

Soy nuevo en bookshelf.js y KNEX. Actualmente trabajando en un controlador para eliminar filas asociadas con una identificación y luego insertar nuevas filas en la misma tabla desde una solicitud.

Modelo:

 const model = ModelBase.extend({ tableName: 'table', idAttribute: 'id', schema: { id: Joi.number().integer(), year: Joi.number().integer().when('$creating', required), // datafields }

Código del controlador:

 const { id, requestBody } = req.swagger.params; // pull out request body const { newRows } = requestBody; // pull out newRows object from request // do stuff .then(() => { db.model.where({ id }).fetchAll() // then fetch all rows that match id .then((rowsWithId) => { if (!rowsWithId) { throw new NotFound('No rows found with id'); } db.model.where({ id }).destroy(); // remove all rows with id from model newRows.forEach((r) => { db.model.create( r ); // iterate through newRoles object and insert new rows into model } newRows.save({ method: 'insert' }); }) .catch(next); })

Cuando ejecuto el código recibo un 200 (solicitud exitosa) pero en mi consola recibo un montón de problemas de validación de Joi, y este error:

 CustomError: No Rows Updated

¿Alguien puede decirme qué estoy haciendo mal aquí? Las filas con los ID se eliminan de la base de datos, pero no se insertan filas nuevas. He buscado por todas partes una solución y no he encontrado mucho. Además, la documentación de estantería no ha sido especialmente útil.

about 4 years ago · Juan Pablo Isaza
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