久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

node.js - mongo TTL 數(shù)據(jù)過期不刪除

瀏覽:210日期:2024-07-16 11:43:41

問題描述

使用 mongoose 可以成功為某個(gè) document 添加過期時(shí)間:node.js - mongo TTL 數(shù)據(jù)過期不刪除

node.js - mongo TTL 數(shù)據(jù)過期不刪除

但是,數(shù)據(jù)在設(shè)置的過期時(shí)間之后仍然沒有刪除,官方的文檔說mongo后臺服務(wù)每隔一分鐘輪詢一次過期設(shè)置,但這已經(jīng)不是幾分鐘延遲的事了,感覺上是expire沒有生效的

問題解答

回答1:

這個(gè)問題我自己解決了,重新看了下官方文檔 https://docs.mongodb.com/manu...

schema定義的索引必須與實(shí)際的數(shù)據(jù)相對應(yīng)。

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 } //設(shè)置驗(yàn)證碼的有效時(shí)間為 10 分鐘 }}, {collection: ’sms’} ); let MyModel = db.model(’MyModel’, myschema); let arr = {phone: req.body.phone,code: code,createAt: Date.now() }

schema 中的 createAt 必須與 arr 中的 createAt 對應(yīng),且必須給定時(shí)間,這樣才會(huì)生效。

回答2:

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

回答3:

幾點(diǎn)建議:

1、先檢查一下索引的實(shí)際TTL情況;您貼出來的部分,感覺上面代碼和下面的截圖不一致

2、看看server.Status中的ttl的部分

db.serverStatus().metrics.ttl

供參考。

Love MongoDB!Have fun!

相關(guān)文章:
主站蜘蛛池模板: 成都市| 时尚| 开远市| 盐亭县| 靖州| 沈阳市| 武川县| 吴桥县| 吐鲁番市| 岚皋县| 枣庄市| 临城县| 含山县| 嘉义县| 应城市| 德令哈市| 濉溪县| 师宗县| 江源县| 安徽省| 开平市| 武功县| 宝山区| 昌乐县| 贞丰县| 尉犁县| 冀州市| 达拉特旗| 从化市| 剑阁县| 南昌市| 伊春市| 鄂尔多斯市| 北碚区| 宜阳县| 虹口区| 秦安县| 天门市| 长春市| 镇远县| 五大连池市|