var UserSessionSchema = new Schema({
sessionActivity: { type: Date, expires: '15s', default: Date.now }, // Expire after 15 s
user_token: { type: String, required: true }
});
Chỉ mục TTL xóa tài liệu 'x' giây sau khi giá trị của nó (phải là Ngày hoặc một mảng Ngày) trôi qua. TTL được kiểm tra mỗi phút, vì vậy nó có thể tồn tại lâu hơn một chút so với 15 giây đã cho của bạn.
Để đặt ngày làm giá trị mặc định, bạn có thể sử dụng default
tùy chọn trong Mongoose. Nó chấp nhận một chức năng. Trong trường hợp này, Date()
trả về dấu thời gian hiện tại. Điều này sẽ đặt ngày thành thời gian hiện tại một lần .
Bạn cũng có thể đi theo tuyến đường này:
UserSessionSchema.pre("save", function(next) {
this.sessionActivity = new Date();
next();
});
Điều này sẽ cập nhật giá trị mọi lúc bạn gọi .save()
(nhưng không phải .update()
).