var UserSessionSchema = new Schema({
sessionActivity: { type: Date, expires: '15s', default: Date.now }, // Expire after 15 s
user_token: { type: String, required: true }
});
Un índice TTL elimina un documento 'x' segundos después de que haya pasado su valor (que debe ser una fecha o una matriz de fechas). El TTL se verifica cada minuto, por lo que puede durar un poco más de los 15 segundos que le dieron.
Para dar a la fecha un valor predeterminado, puede usar el default
opción en Mangosta. Acepta una función. En este caso, Date()
devuelve la marca de tiempo actual. Esto establecerá la fecha a la hora actual una vez .
También puedes seguir esta ruta:
UserSessionSchema.pre("save", function(next) {
this.sessionActivity = new Date();
next();
});
Esto actualizará el valor cada vez llamas a .save()
(pero no .update()
).