В Mongoose създавате TTL индекс на Date
полето чрез expires
свойство в дефиницията на схемата на това поле:
// expire docs 3600 seconds after createdAt
new Schema({ createdAt: { type: Date, expires: 3600 }});
Имайте предвид, че:
- Задачата за изтичане на данни на MongoDB се изпълнява веднъж в минута, така че документът с изтекъл срок на валидност може да продължи до минута след изтичането му.
- Тази функция изисква MongoDB 2.2 или по-нова версия.
- От вас зависи да зададете
createdAt
към текущото време при създаване на документи или добаветеdefault
да го направя вместо вас, както е предложено тук.{ createdAt: { type: Date, expires: 3600, default: Date.now }}