автоматическое удаление документов в mongodb

Я только начал использовать Mongodb. Застрял.

Так что у меня есть коллекция с полями:

_id
startDate (long)
endDate (длинный)
имя


Теперь я хочу автоматически удалять документы, которые старше определенной даты.
Я создал индекс TTL для startDateполя, установил время истечения через 2 минуты и проверил, если оно истекает. При вставке документа с startDateкак isoDateон работал и истек.

..insert({startDate:newDate()})--> Got deleted after 2 secs.

Мой вопрос в том, какие данные были ранее установлены, имеют значение startDate as long. Так как же это будет работать?

1 ответ

  1. TTL-индексы работают только на isoDates. Запустите обновление, чтобы преобразовать ваши лонги в изодаты, или просто удалите их вручную (предположительно, все, что является лонгом, будет старше вашего отсечения в любом случае или скоро будет).