var UserSessionSchema = new Schema({
sessionActivity: { type: Date, expires: '15s', default: Date.now }, // Expire after 15 s
user_token: { type: String, required: true }
});
TTL индекс изтрива документ 'x' секунди след като стойността му (която трябва да бъде дата или масив от дати) е преминала. TTL се проверява всяка минута, така че може да живее малко повече от дадените ви 15 секунди.
За да дадете на датата стойност по подразбиране, можете да използвате default
опция в Mongoose. Приема функция. В този случай, Date()
връща текущото времево клеймо. Това ще настрои датата на текущия час веднъж .
Можете също така да отидете по този маршрут:
UserSessionSchema.pre("save", function(next) {
this.sessionActivity = new Date();
next();
});
Това ще актуализира стойността всеки път извиквате .save()
(но не .update()
).