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

187
Vistas
NodeJS elimina registros específicos cuando la fecha alcanza los 60 días

Buenas noches. Estoy usando JSJoda para calcular la diferencia entre dos fechas. En la base de datos hay una fila donde por defecto la fecha se inserta automáticamente. Necesito crear una función normal (sin objeto Req, Res) donde cada fila se eliminará después de 60 días.

 const cron = require('node-cron'); const JSJoda = require('js-joda'); const {deleteRecord, getAllMessages} = require('../connection/db.js'); exports.deleteMessage = async () => { /** * Get all the messages and delete statement */ const deleteStatement = 'DELETE FROM ?? WHERE ?? = ?'; const selectStatement = 'SELECT * FROM message'; try { const messageList = await getAllMessages(selectStatement); /** * Loop over the array of messages and find the date */ for (message of messageList) { let dateTarget = message.dateAdded; /** * Convert the date to ISOString() and leave only the dates */ let messageDates = dateTarget.toISOString().split('T')[0]; let today = new Date().toISOString().split('T')[0]; let difference = JSJoda.ChronoUnit.DAYS.between(JSJoda.LocalDate.parse(messageDates), JSJoda.LocalDate.parse(today)); while (difference === 0) { // Problem is here I dont know what should I do await deleteRecord(deleteStatement, 'message', message.messageID, value); } } } catch (error) { console.log(error); } };

En esta función, obtengo todos los registros y los analizo en el formato requerido por la biblioteca. La siguiente variable aparentemente muestra los días correctos, pero ahora me doy cuenta de que estoy atascado.

 let difference = JSJoda.ChronoUnit.DAYS.between(JSJoda.LocalDate.parse(messageDates), JSJoda.LocalDate.parse(today));

No sé cómo debo proceder con esta función.... Dónde colocarlo, y lo más importante, cómo seleccionar el ID de messageID correcto que debe eliminarse.

Estas son las columnas reales de MySQL ingrese la descripción de la imagen aquí

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