@dfhkjhg

Можно ли узнать когда последний раз были изменения в mongodb?

Есть код который забирает данные из бд каждые 5 секунд. Хочу добавить проверку что если данные не обновлялись в течениу этих 5 секунд то скрипт ничего делать не будет. Можно ли как нибудь узнать когда последний раз обновлялись данные или придется самому записывать в бд время последнего обновления?
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 2
@ScriptKiddo
MongoDB не хранит дату последнего изменения документа. Вам нужно хранить ее в отдельном поле.
Ответ написан
@d-sem
Необходимо конкретизировать, что имеется под обновление базы.

Если под обновлением базы понимается добавление новых документов в коллекцию и нужно подтягивать новые документы, то _id содержит в себе timestamp своего создания

https://docs.mongodb.com/manual/reference/method/O...

Но с таким же успехом можно просто получать последний id и сравнивать с храним на стороне скрипта.

Можно в каком-нибудь memcache хранить время последнего любого обновления БД.

Ну и в принципе можно отказаться от проверок базы каждые 5 секунд, если при любом обновлении отправлять изменения(например, весь изменений объект) в очередь (rabbitmq, redis), чтобы скрипт не базу проверял, а слушал очередь.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
MyGig Москва
от 150 000 до 200 000 ₽
Fora Soft Санкт-Петербург
от 80 000 до 130 000 ₽
07 авг. 2020, в 19:24
4000 руб./за проект
07 авг. 2020, в 18:56
1 руб./за проект