MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Modificare il valore della variabile nel documento dopo un po' di tempo?

Quello che stai chiedendo in pratica non può essere fatto così che hai 2 modi per seguire questa strada.

  1. 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 in true 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'));
  }
});
  1. 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 su true

Questo è un buon pacchetto cron cron

EDIT:Il cron job può essere qualsiasi periodo, ogni 10 minuti, 1 ora, 2, 100, ecc...

Buona fortuna