Quello che stai chiedendo in pratica non può essere fatto così che hai 2 modi per seguire questa strada.
- Ogni volta che c'è un recupero di una voce puoi eseguire un hook di mangusta come
pre('find')
che verificherà se sono trascorse 4 settimane, in tal caso cambia il disattivato intrue
puoi saperne di più sugli hook su qui
Qualcosa di simile a questo esempio:questo esempio è stato tratto da qui
Schema.pre('find', function() {
if (!this.getQuery().userId) {
this.error(new Error('Not allowed to query without setting userId'));
}
});
- Puoi eseguire un cron job ogni giorno una o due volte (dipende dal tuo periodo di tempo) che continua a controllare i record che hanno superato 4 settimane dalla creazione e imposta
deactivated
sutrue
Questo è un buon pacchetto cron cron
EDIT:Il cron job può essere qualsiasi periodo, ogni 10 minuti, 1 ora, 2, 100, ecc...
Buona fortuna