Есть ли способ обновить документ по истечении срока действия в mongodb? - PullRequest
0 голосов
/ 15 февраля 2019

Я прочитал некоторые решения и задаюсь вопросом, могу ли я обновить (не удалить) документ в mongodb, если дата истекает через 2 дня.Вот так.

date:2019-02-15
status:not expired

Через 2 дня обновите статус до expired.Вот мой код для публикации документа.

var bloodstock = new Bloodstock(); 
bloodstock.date = new Date();
bloodstock.status = "not expired"; 
bloodstock.save(function(err) {});

1 Ответ

0 голосов
/ 15 февраля 2019

Запустите cron в полночь ежедневно, чтобы сравнить дату.Если дата существует 2 дня, обновите статус в базе данных.

var CronJob = require('cron').CronJob;
const job = new CronJob('00 00 00 * * *', function () {
    if (Date.parse(today_date) > Date.parse(new Date(db_date).getTime() + (2 * 24 * 60 * 60 * 1000))) {
        //Update your status
        ...
    }
});
job.start();

Примечание. Сравнение дат может быть выполнено либо по запросу MongoDB, либо по Javascript. Это зависит от размера документа, который вам нужнообновление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...