Những gì bạn đang hỏi về cơ bản không thể thực hiện được vì bạn có 2 cách để đi theo con đường này.
- Mỗi khi có một truy xuất mục nhập, bạn có thể chạy một móc mongoose chẳng hạn như
pre('find')
điều đó sẽ kiểm tra xem 4 tuần đã trôi qua hay chưa, nếu vậy, hãy thay đổi mục đã hủy kích hoạt thànhtrue
bạn có thể tìm hiểu thêm về hook trên tại đây
Một cái gì đó tương tự như ví dụ này - ví dụ này được lấy từ tại đây
Schema.pre('find', function() {
if (!this.getQuery().userId) {
this.error(new Error('Not allowed to query without setting userId'));
}
});
- Bạn có thể chạy công việc cron mỗi ngày một hoặc hai lần (tùy thuộc vào khoảng thời gian của bạn) để tiếp tục kiểm tra các bản ghi đã qua 4 tuần tạo và đặt
deactivated
thànhtrue
Đây là một gói cron tốt cron
CHỈNH SỬA:Công việc cron có thể là bất kỳ khoảng thời gian nào, cứ sau 10 phút, 1 giờ, 2, 100, v.v. ...
Chúc các bạn thành công