マングースセットTTL(存続時間)が期限切れになり、データが自動的に削除されます



Mongoose Set Ttl Expires Automatically Delete Data



最近の良い忙しい忙しい。 。 。蓄積する時間はありません。新しい操作ノートで今日の時間をすばやく取ってください。

TTLとは

指定された期間の後、または指定された時間が経過したときに設定された一連のデータ保存mongodb有効期限をサポートするTTL(存続時間)は、コレクションが自動的にmongodをクリアします。この機能は、マシンで生成されたイベントデータ、ログ、その他のセッション情報など、特定の時間をデータストレージに保存するだけでよい場合に役立ちます。



シンプルなシーン

ユーザーの認証コードなどは、verifyCodeデータベーステーブルが生成されてユーザーに送信された後に存在する必要があります。ユーザーは、送信が一貫したコントラストであるかどうかを入力します。

このコードは1回だけ使用され、障害が発生してから数分かかります。ライブラリは長期間存在する必要はありません。今回はTTLを使用できます。



export default app => { const mongoose = app.mongoose const Schema = mongoose.Schema const VerifyCodeSchema = new Schema( { value: { type: String, unique: true }, // code value type: { type: String, enum: ['email'] }, // verification code type operation: { type: String, enum: ['login'] }, // type of operation account: { type: String }, createdAt: { type: Date, default: Date.now, index: { expires: 300 } }, // set ttl, failure is automatically deleted after 5m }, { usePushEach: true, }, ) return mongoose.model('verifyCode', VerifyCodeSchema) }

注意

TTLはMongoDBチェックです(提供されている場合)expires: 20 20秒後に失敗し、実際にデータベースから削除されてから1分後です。他の時間が設定されていない場合は分の整数であり、対応するエラーが発生します。