var UserSessionSchema = new Schema({
sessionActivity: { type: Date, expires: '15s', default: Date.now }, // Expire after 15 s
user_token: { type: String, required: true }
});
Index TTL odstraní dokument 'x' sekund poté, co uplynula jeho hodnota (což by mělo být datum nebo pole dat). TTL je kontrolováno každou minutu, takže může žít o něco déle než zadaných 15 sekund.
Chcete-li datu přiřadit výchozí hodnotu, můžete použít default
možnost v Mongoose. Přijímá funkci. V tomto případě Date()
vrátí aktuální časové razítko. Tím se jednou nastaví datum na aktuální čas .
Můžete také jít touto cestou:
UserSessionSchema.pre("save", function(next) {
this.sessionActivity = new Date();
next();
});
Tím se hodnota aktualizuje pokaždé zavoláte .save()
(ale ne .update()
).