var UserSessionSchema = new Schema({
sessionActivity: { type: Date, expires: '15s', default: Date.now }, // Expire after 15 s
user_token: { type: String, required: true }
});
TTLインデックスは、その値(DateまたはDatesの配列である必要があります)が経過してからドキュメント'x'秒を削除します。 TTLは毎分チェックされるため、指定された15秒より少し長く存続する可能性があります。
日付にデフォルト値を与えるには、default
を使用できます マングースのオプション。関数を受け入れます。この場合、Date()
現在のタイムスタンプを返します。これにより、日付が現在の時刻に1回設定されます。 。
このルートに行くこともできます:
UserSessionSchema.pre("save", function(next) {
this.sessionActivity = new Date();
next();
});
これにより、値が毎回更新されます .save()
を呼び出します (ただし、.update()
ではありません 。