var UserSessionSchema = new Schema({
sessionActivity: { type: Date, expires: '15s', default: Date.now }, // Expire after 15 s
user_token: { type: String, required: true }
});
Een TTL-index verwijdert een document 'x' seconden nadat de waarde (die een datum of een reeks datums zou moeten zijn) is verstreken. De TTL wordt elke minuut gecontroleerd, dus het kan iets langer duren dan de door u gegeven 15 seconden.
Om de datum een standaardwaarde te geven, kunt u de default
. gebruiken optie in mangoest. Het accepteert een functie. In dit geval Date()
geeft de huidige tijdstempel terug. Hierdoor wordt de datum eenmaal . op de huidige tijd gezet .
Je zou ook deze route kunnen volgen:
UserSessionSchema.pre("save", function(next) {
this.sessionActivity = new Date();
next();
});
Hierdoor wordt de waarde elke keer bijgewerkt je roept .save()
. aan (maar niet .update()
).