Вот документация MotorCollection.create_index:
https://motor.readthedocs.io/en/stable/api-tornado/motor_collection.html#motor.motor_tornado.MotorCollection.create_index
Я хочу создать индекс, срок действия которого истекает через X
секунд, где X
настраивается.Например: количество секунд после того, как неактивные сеансы удаляются из базы данных.Когда кто-то изменяет конфигурацию и перезапускает сервер, мне нужно пересоздать индекс или перенастроить его срок действия.
В базе данных могут быть миллионы строк, и я не хочу воссоздавать индекс, есливремя истечения не изменилось.
Пример:
self.sessions.create_index([("last_seen", pymongo.ASCENDING)],
expireAfterSeconds=INACTIVE_SESSION_TTL)
На самом деле INACTIVE_SESSION_TTL
не является константой, а некоторым значением, которое задается в конфигурации серверной программы.
Но я ничего не вижу в документации по этому поводу:
- Что произойдет, если я вызову create_index с другим значением?Я попытался, и он молча игнорирует новый параметр expireAfterSeconds (ничего не изменилось).
- Так что я думаю, мне придется удалить индекс и воссоздать его.Но нет метода delete_index, или, по крайней мере, он не задокументирован.
- Удаление и воссоздание индекса было бы глупо в любом случае.Я просто хочу перенастроить время истечения.Возможно ли это?