sql >> Base de Datos >  >> NoSQL >> MongoDB

Es hora de vivir en mongodb, la mangosta no funciona. Los documentos no se eliminan

var UserSessionSchema   = new Schema({
    sessionActivity:    { type: Date, expires: '15s', default: Date.now }, // Expire after 15 s
    user_token:         { type: String, required: true }
});

Un índice TTL elimina un documento 'x' segundos después de que haya pasado su valor (que debe ser una fecha o una matriz de fechas). El TTL se verifica cada minuto, por lo que puede durar un poco más de los 15 segundos que le dieron.

Para dar a la fecha un valor predeterminado, puede usar el default opción en Mangosta. Acepta una función. En este caso, Date() devuelve la marca de tiempo actual. Esto establecerá la fecha a la hora actual una vez .

También puedes seguir esta ruta:

UserSessionSchema.pre("save", function(next) { 
    this.sessionActivity = new Date(); 
    next(); 
});

Esto actualizará el valor cada vez llamas a .save() (pero no .update() ).