node.js - data TTL mongo tidak dipadamkan apabila ia tamat tempoh
伊谢尔伦
伊谢尔伦 2017-05-17 09:56:31
0
3
1074

Menggunakan mongoose, anda boleh berjaya menambah masa tamat tempoh pada dokumen:

Walau bagaimanapun, data masih tidak dipadamkan selepas masa tamat tempoh yang ditetapkan. Dokumen rasmi mengatakan bahawa perkhidmatan latar belakang mongo meninjau tetapan tamat tempoh setiap satu minit, tetapi ini bukan lagi kelewatan selama beberapa minit kesan

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(3)
漂亮男人

Saya menyelesaikan masalah ini sendiri dan membaca semula dokumentasi rasmi https://docs.mongodb.com/manu...

Indeks yang ditakrifkan oleh skema mesti sepadan dengan data sebenar.

             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()
            }  

Skema createAt dalam mesti sepadan dengan createAt dalam arr, dan masa mesti diberikan untuk ia berkuat kuasa.

曾经蜡笔没有小新

let mySchema = new mongoose.Schema(...)Cubalah?

大家讲道理

Beberapa cadangan:

1 Mula-mula semak situasi TTL sebenar indeks; di bahagian yang anda siarkan, saya rasa kod di atas tidak konsisten dengan tangkapan skrin di bawah

2. Tengok bahagian ttl dalam server.Status

db.serverStatus().metrics.ttl

Untuk rujukan.

Suka MongoDB! Berseronoklah!

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan