国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

node.js - mongo TTL 數據過期不刪除

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

問題描述

使用 mongoose 可以成功為某個 document 添加過期時間:node.js - mongo TTL 數據過期不刪除

node.js - mongo TTL 數據過期不刪除

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

問題解答

回答1:

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

schema定義的索引必須與實際的數據相對應。

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

schema 中的 createAt 必須與 arr 中的 createAt 對應,且必須給定時間,這樣才會生效。

回答2:

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

回答3:

幾點建議:

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

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

db.serverStatus().metrics.ttl

供參考。

Love MongoDB!Have fun!

相關文章:
主站蜘蛛池模板: 措美县| 德庆县| 洛阳市| 湟源县| 乡宁县| 台中市| 利津县| 新乐市| 蒙阴县| 宁城县| 甘洛县| 金乡县| 二连浩特市| 安阳市| 滨州市| 哈尔滨市| 鄂托克前旗| 龙泉市| 云和县| 泾源县| 且末县| 康定县| 无棣县| 比如县| 长泰县| 博乐市| 遵化市| 黑龙江省| 翁牛特旗| 扶绥县| 巴里| 禹州市| 康保县| 锦州市| 垦利县| 阳高县| 张北县| 枣庄市| 汶川县| 济宁市| 海丰县|