Câu trả lời đúng là c)
Thuộc tính expireAfterSeconds luôn yêu cầu chỉ mục trên trường chứa ngày BSON, vì nội dung của trường ngày này được sử dụng để chọn các mục nhập để xóa.
Khi bạn muốn cập nhật tài liệu để đặt lại thời gian tồn tại, hãy cập nhật trường ngày đã lập chỉ mục thành thời gian hiện tại.
Khi bạn muốn cập nhật không ảnh hưởng đến TTL, chỉ cần không cập nhật ngày.
Tuy nhiên, hãy nhớ rằng expireAfterSeconds không đảm bảo việc xóa tài liệu ngay lập tức. Việc xóa được thực hiện bởi một công việc nền chạy mỗi phút. Công việc này có mức độ ưu tiên thấp và có thể bị hoãn lại bởi MongoDB khi tải hiện tại cao. Vì vậy, khi điều quan trọng đối với trường hợp sử dụng của bạn là thời gian hết hạn được tôn trọng chính xác đến từng giây, bạn nên thêm kiểm tra bổ sung ở cấp ứng dụng.
Tính năng này được ghi lại tại đây: http://docs.mongodb.org/manual/ hướng dẫn / dữ liệu hết hạn /