var UserSessionSchema = new Schema({
sessionActivity: { type: Date, expires: '15s', default: Date.now }, // Expire after 15 s
user_token: { type: String, required: true }
});
Ett TTL-index tar bort ett dokument "x" sekunder efter att dess värde (som ska vara ett datum eller en uppsättning av datum) har passerat. TTL kontrolleras varje minut, så den kan leva lite längre än dina givna 15 sekunder.
För att ge datumet ett standardvärde kan du använda default
alternativ i Mongoose. Den accepterar en funktion. I det här fallet, Date()
returnerar den aktuella tidsstämpeln. Detta kommer att ställa in datumet till aktuell tid en gång .
Du kan också gå den här vägen:
UserSessionSchema.pre("save", function(next) {
this.sessionActivity = new Date();
next();
});
Detta kommer att uppdatera värdet varje gång du anropar .save()
(men inte .update()
).