我正在構建一個 api mongoose。我創建了一個用戶模型,我必須添加otp功能。首先,用戶通過電子郵件給我所有資料。然后我將它與標簽verified:false一起存盤在用戶模型中。然后用戶給我otp,我必須匹配otp我存盤在user model. 但問題是如果用戶沒有驗證,那么我必須在 5 分鐘后洗掉存盤的資料。我怎么能用mongoose. 任何人都可以描述它...
總而言之,我正在尋找在 5 分鐘后自動驗證為 false 時洗掉檔案或資料的功能。如何使用貓鼬添加此功能..
這是存盤的資料
_id:61a1f4c2565e42d0dc16b205
name:"Simon Santana"
firstName:"Simon"
lastName:"Santana"
email:"[email protected]"
phone:" 161199567"
password:"simon198"
avatar:"http://localhost:3001\project1117-1638003906292.JPG"
//Verified is false... Do not delete when it is true..
verified:false
country:"USA"
role:"user"
全部功能通過自動方式...
謝謝!
uj5u.com熱心網友回復:
v.3.2之后可以直接在mongodb中使用部分TTL索引,如下:
db.col.createIndex( {createdDate: 1}, {
expireAfterSeconds: 300, // 5min
partialFilterExpression: {
verifiled: false
}
});
(考慮到您添加了 createdDate 欄位并將其索引為部分 TTL 索引,如果已驗證欄位為 false,則檔案將在 5 分鐘后被洗掉)
uj5u.com熱心網友回復:
如果您正在開發前端,那么您應該將所有這些值存盤在 cookie 或 localstorage 中,并在五分鐘后將其洗掉,如果用戶已通過身份驗證,則發送注冊新用戶的請求。還要確保將其他值存盤在 state、localstorage 或 cookie 中,然后發送請求
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/368871.html
