Maison > Questions et réponses > le corps du texte
En utilisant mangouste, vous pouvez ajouter avec succès un délai d'expiration à un document :
Cependant, les données ne sont toujours pas supprimées après le délai d'expiration défini. Le document officiel indique que le service d'arrière-plan Mongo interroge le paramètre d'expiration toutes les minutes, mais il ne s'agit plus d'un délai de plusieurs minutes. effet
漂亮男人2017-05-17 09:58:31
J'ai résolu ce problème moi-même et relu la documentation officielle https://docs.mongodb.com/manu...
L'index défini par schéma doit correspondre aux données réelles.
let myschema = new mongoose.Schema(
{
phone: {
type: String,
required: true
},
code: {
type: String,
required: true
},
createAt: {
type: Date,
default: Date.now(),
index: { expires: 60*1 } //设置验证码的有效时间为 10 分钟
}
}, {collection: 'sms'}
);
let MyModel = db.model('MyModel', myschema);
let arr = {
phone: req.body.phone,
code: code,
createAt: Date.now()
}
Le schéma createAt in doit correspondre au createAt in arr, et l'heure doit être donnée pour qu'il prenne effet.
大家讲道理2017-05-17 09:58:31
Quelques suggestions :
1. Vérifiez d'abord la situation TTL réelle de l'index ; dans la partie que vous avez publiée, j'estime que le code ci-dessus n'est pas cohérent avec la capture d'écran ci-dessous
2. Regardez la partie ttl dans server.Status
db.serverStatus().metrics.ttl
Pour référence.
J'adore MongoDB ! Amusez-vous!