2016-10-15 3 views
0

С учетом базы данных (в настоящее время MongoDB) существует ли эффективный и эффективный способ периодически обновлять все значениями базы данных ?.Периодически обновляйте базу данных

Предположим, я хочу, чтобы определенные значения уменьшались на 1 каждую секунду или около того и чтобы получать уведомления, когда эти значения достигают 0 в моем приложении. Я хотел бы избежать (если возможно) обновления их вручную из моего приложения, итерации по всем элементам, поскольку это может стать довольно неэффективным для запроса и обновления всей базы данных каждую секунду.

Я заинтересован в ответах на другие базы данных, кроме Монго

Благодарности

+0

Это неправильный подход. Поместите отметку времени, и когда вы * запросите * базу данных, выполните расчет. –

+0

Мне нужно получить уведомление, когда значения достигнут 0, используя временные метки, потребует от меня выполнения запроса, который я хочу избежать в любом случае – angrykoala

+0

Прежде всего, вы должны выбрать правильные теги для своего вопроса (SQL и MONGODB очень разные во всех аспектах). Во-вторых, ваш вопрос подразумевает, что БД принимает активные действия ... Фактически, подход должен состоять в том, что процесс, который тикает каждый предопределенный период времени, будет выбирать разницу между значениями в таблице и одним счетчиком. Когда разница становится равной нулю или меньше, активируйте уведомление (кстати, вы можете сделать выбор таким образом, чтобы он выбирал только те случаи, которые требуют уведомления). Это общая идея. Реализация: зависит от БД. – FDavidov

ответ

0

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

Если вы делаете своего рода «eBay», где элемент имеет «время жизни», прежде чем стал недействительным, то вы можете разрешить ее с MongoDB с findOneAndUpdate или updateMany.

Смежные вопросы