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

2.6K
Vistas
Cómo eliminar muchas filas typeorm - postgresql y node.js (mecanografiado)

Hola amigos, esta es mi función, obtiene una serie de ID. Quiero borrar las filas de un solo golpe y no ejecutarlas en el ciclo, y no puedo encontrar una solución para eso. Agradecería ayuda.

 async remove(ids: DeleteEmployeeAnswerDTO): Promise<boolean> { if (ids.employeeAnswersIds.length) { for (const id of ids.employeeAnswersIds) { await EmployeeAnswers.delete(id.id); } } return true; }
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Si su tabla tiene una sola columna de ID , entonces debería poder pasar una matriz de ID :

 await EmployeeAnswers.delete(ids.employeeAnswersIds);

También puede especificar múltiples ID en su cláusula where usando In :

 await EmployeeAnswers.delete({ id: In(ids.employeeAnswersIds) });

Sin embargo, si trabaja con una tabla que tiene una clave primaria compuesta, como en mi caso, el siguiente ejemplo puede ser la solución para usted. No estoy loco por esta respuesta, pero así es como superé este problema usando DeleteQueryBuilder ( docs ):

 async remove(ids: DeleteEmployeeAnswerDTO): Promise<boolean> { if (ids.employeeAnswersIds.length) { const deleteQueryBuilder = EmployeeAnswer.createQueryBuilder().delete() const idClauses = ids.map((_, index) => `ID = :id${index}`) const idClauseVariables = ids.reduce((value: any, id, index) => { value[`id${index}`] = id return value }, {}) await deleteQueryBuilder.where(idClauses.join(' OR '), idClauseVariables).execute() } return true; }
over 4 years ago · Santiago Trujillo Denunciar

0

Puede buscar varios registros y luego eliminar las entidades encontradas en una sola operación. Si no se encuentran una o más entidades, no se elimina nada.

 async removeMany(ids: string[]) { const entities = await this.entityRepository.findByIds(ids); if (!entities) { throw new NotFoundException(`Some Entities not found, no changes applied!`); } return this.entityRepository.remove(entities); }
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