• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

431
Views
¿Cuál es la mejor manera de notificar a los usuarios que el documento expiró en la base de datos?

En mi aplicación, los usuarios crean documentos que luego se guardan en la base de datos. El documento tiene un campo expireAt que se establece en 30 días antes de la fecha de creación. Después de la fecha de vencimiento, el documento se considera inactivo.

Entonces, lo que quiero es enviar un correo electrónico al usuario después de la fecha de vencimiento para notificarle que su documento ahora está inactivo. La única solución que veo es crear un trabajo cron y sondear periódicamente la base de datos en busca de documentos caducados.

Pero no estoy seguro de si el sondeo periódico es un buen enfoque y me gustaría saber si hay otras formas de hacerlo.

PD La aplicación está construida con nodejs + mongoDB

about 3 years ago · Santiago Trujillo
2 answers
Answer question

0

Tykaty, puedes intentar usar 2 características de mongodb:

  • Caducar datos https://docs.mongodb.com/manual/tutorial/expire-data/
  • Cambiar eventos https://docs.mongodb.com/manual/reference/change-events/ https://docs.mongodb.com/manual/changeStreams/#watch-a-collection--database--or-deployment

La idea es sencilla. Almacene los documentos como antes. Agregue una colección que verá y agregue allí los objetos que deben caducar, vincule cada documento en su colección original a un objeto correspondiente que caducará (enlace 1 a 1). Cuando el motor mongo elimina el objeto (caducado), recibe una notificación con su _id. Encuentre este _id en su colección original de documentos para comprender qué documento caducó. Aquí estás.

Por supuesto, puede comenzar con el sondeo, la solución final depende de los datos y su uso, así como de la carga.

about 3 years ago · Santiago Trujillo Report

0

Si su caso de uso es simplemente eliminar el documento caducado, puede usar la función TTL de mongodb.

Como necesita enviar un correo electrónico, la mejor opción es el trabajo cron como ya pensó. Sí, el sondeo periódico es una buena opción y funciona en la mayoría de los casos de uso y usted tiene control sobre él.

Según sus requisitos, puede sondear una vez al día. Si aún necesita preocuparse hasta el minuto de vencimiento, puede hacerlo restando 24 horas de su consulta real y enviar una alerta para la comodidad del usuario.

about 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error