Básicamente, lo que está pidiendo no se puede hacer así, tiene 2 formas de seguir esta ruta.
- Cada vez que hay una recuperación de entrada, puede ejecutar un gancho de mangosta como
pre('find')
eso verificará si han pasado 4 semanas, de ser así, cambie la desactivación atrue
puede obtener más información sobre los ganchos en aquí
Algo similar a este ejemplo:este ejemplo se tomó de aquí
Schema.pre('find', function() {
if (!this.getQuery().userId) {
this.error(new Error('Not allowed to query without setting userId'));
}
});
- Puede ejecutar un trabajo cron todos los días una o dos veces (depende de su período de tiempo) que sigue buscando registros que pasaron 4 semanas desde la creación y establecer
deactivated
atrue
Este es un buen paquete cron cron
EDITAR:El trabajo cron puede ser cualquier período, cada 10 minutos, 1 hora, 2, 100, etc...
Buena suerte