MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Il est temps de vivre à mongodb, la mangouste ne fonctionne pas. Les documents ne sont pas supprimés

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

Un index TTL supprime un document 'x' secondes après que sa valeur (qui doit être une date ou un tableau de dates) est passée. Le TTL est vérifié toutes les minutes, il peut donc durer un peu plus longtemps que les 15 secondes que vous avez données.

Pour donner à la date une valeur par défaut, vous pouvez utiliser le default option à Mangouste. Il accepte une fonction. Dans ce cas, Date() renvoie l'horodatage actuel. Cela réglera la date sur l'heure actuelle une fois .

Vous pouvez également suivre cette route :

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

Cela mettra à jour la valeur à chaque fois vous appelez .save() (mais pas .update() ).