сервер монгодб. Как автоматически изменить статус просрочено при истечении срока действия

В mongodb у меня есть коллекция (пользователь), где есть 2 информации: статус и срок действия (дата). Как автоматически изменить статус истек при истечении срока действия на сервере базы данных. Спасибо


person ThuanIT    schedule 03.12.2018    source источник
comment
Хотя я не знаком с MongoDB в частности и не могу найти ничего подобного в документации, когда дело доходит до обработки данных в целом, вы действительно не хотите хранить такие данные вычисляемых полей - это излишне избыточно. Если вы ищете простой способ исключить записи с истекшим сроком действия из запроса, вам следует запрашивать записи, дата истечения которых более поздняя, ​​чем время выполнения запроса. Если вы ищете удобочитаемость, пользовательский интерфейс вашего приложения должен иметь логику для отображения активной или просроченной метки на основе даты истечения срока действия в наборе данных.   -  person p0lar_bear    schedule 03.12.2018


Ответы (1)


Вы можете автоматически удалять документы, используя TTL-индексы, если это помогает, и/или слушать /реагируйте на изменения, используя потоки изменений, которые также широко обсуждались здесь: Как прослушивать изменения в коллекции MongoDB?

Однако помимо этого, на данном этапе в MongoDB нет ничего, что можно было бы использовать для достижения такого поведения, поэтому вам придется создавать что-то самостоятельно, используя, например, внешний планировщик, который регулярно запускает команду обновления, устанавливая нужные значения для нужных документов.

person dnickless    schedule 03.12.2018