recherche

Maison  >  Questions et réponses  >  le corps du texte

node.js - Les données mongo TTL ne sont pas supprimées à leur expiration

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

伊谢尔伦伊谢尔伦2748 Il y a quelques jours1061

répondre à tous(3)je répondrai

  • 漂亮男人

    漂亮男人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.

    répondre
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-17 09:58:31

    let mySchema = new mongoose.Schema(...)L'essayer ?

    répondre
    0
  • 大家讲道理

    大家讲道理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!

    répondre
    0
  • Annulerrépondre