@Stepgor

Как можно удалять временную информацию в бд?

Какие есть схемы работы с временной информацией в бд?
Пример, в объекте пользователя есть поле ПОДПИСКИ - это массив объектов со свойствами id, name и expire. Expire это время unix в секундах, которое вычисляется Date.now() + ВРЕМЯ ПОДПИСКИ
Что бы чистить бд от неактивных подписок я придумал 2 способа:
1. В первом запросе на сервер, допустим get_user мы сравниваем expire с временем сейчас, если меньше - удаляем и сохраняем пользователя.
2. Это фонойвый скрипт который пробегается по пользователям и так же сравнивает и удаляет, сохраняет
Эти способы можно комбинировать

Есть ли еще какие-нибудь способы обработки такой "временной" информации?
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
@dmtrrr
Backend developer
TTL indexes are special single-field indexes that MongoDB can use to automatically remove documents from a collection after a certain amount of time or at a specific clock time.


https://docs.mongodb.com/manual/core/index-ttl/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы