var UserSessionSchema = new Schema({
sessionActivity: { type: Date, expires: '15s', default: Date.now }, // Expire after 15 s
user_token: { type: String, required: true }
});
Indeks TTL usuwa dokument „x” sekund po upływie jego wartości (która powinna być datą lub tablicą dat). TTL jest sprawdzany co minutę, więc może trwać nieco dłużej niż podane 15 sekund.
Aby nadać dacie wartość domyślną, możesz użyć default
opcja w Mongoose. Przyjmuje funkcję. W tym przypadku Date()
zwraca bieżący znacznik czasu. Spowoduje to ustawienie daty na aktualny czas raz .
Możesz również wybrać tę trasę:
UserSessionSchema.pre("save", function(next) {
this.sessionActivity = new Date();
next();
});
Spowoduje to zaktualizowanie wartości za każdym razem wywołujesz .save()
(ale nie .update()
).