var UserSessionSchema = new Schema({
sessionActivity: { type: Date, expires: '15s', default: Date.now }, // Expire after 15 s
user_token: { type: String, required: true }
});
Um índice TTL exclui um documento 'x' segundos após seu valor (que deve ser uma Data ou uma matriz de Datas) ter passado. O TTL é verificado a cada minuto, portanto, pode durar um pouco mais do que os 15 segundos fornecidos.
Para dar à data um valor padrão, você pode usar o
default
opção em Mongoose. Ele aceita uma função. Neste caso, Date()
retorna o timestamp atual. Isso definirá a data para a hora atual uma vez . Você também pode seguir este caminho:
UserSessionSchema.pre("save", function(next) {
this.sessionActivity = new Date();
next();
});
Isso atualizará o valor todas as vezes você chama
.save()
(mas não .update()
).