Каждая запись может добавляться в разное время.
Каждая запись может храниться не больше 7 дней.
Можно ли сделать так, чтобы запись удалялась по истечению этого срока? (Грубо говоря, присвоить каждой записи поле с таймером). Читал, что нужно использовать moment, но понять как это сделать, не могу.
Еще небольшой вопрос. Если все-таки такое сделать возможно, то будет ли это сильно нагружать БД, скажем так, примерно, при 10'000 записях?
Зашедульте на сервере (в том же CRON) периодическое (скажем, раз в минуту) удаление записей старше недели. И тогда вообще никакого кода в приложении не потребуется.
Храните дату создания записи и просто при выборке исключайте строки, которые старее 7 дней относительно времени запроса.
Еще небольшой вопрос. Если все-таки такое сделать возможно, то будет ли это сильно нагружать БД, скажем так, примерно, при 10'000 записях?
10к это очень маленькое количество записей. На таком объеме не будет заметно.
А вот если у вас сотни тысяч вставок и удалений, то фризы гарантированны.
Я никогда не работал с SQL базами данных, только с MongoDB, и там есть такое понятие, как Time To Life index, то есть мы помечаем поле с датой создания (UTC формат) этой записи индексом TTL и задаём параметр ExpiresAfrerSeconds (в неделе 60 * 60 * 24 * 7 секунд) и по итогу, база данных удалит нам эту запись через неделю.
Не знаю, как в postgre, но возможно вам стоит почитать про TTL в вашей базе данных.