Задать вопрос
@dimonnwc3

Как сделать историю в Mongodb … SQL?

Есть коллекция счета, с документами такого типа:
{
  name: "Bank",
  summ: 1000
}

Хочу выводить статистику(график) по месяцам. Какое состояние счета, было на 1.1, 1.2, .1.3, 1.4, .1.5 и так далее.

Есть какие то триггеры, которые к примеру каждого первого числа пушат в массив history, текущую дату и сумму?

Как правильно реализовать такую историю в mongo?
Как подобные вещие реализуются в SQL ДБ?
  • Вопрос задан
  • 388 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя Константин Китманов К ответам на вопрос (2)
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Есть какие то триггеры, которые к примеру каждого первого числа пушат в массив history, текущую дату и сумму?
Это-то можно делать с помощью cron. Но нет смысла.

Обычно просто хранят начальное состояние счета и все операции; когда нужно, берут эту начальную сумму и «проигрывают» все операции и получают текущую сумму (конечно, для скорости текущее состояние тоже можно кэшировать). Люди любят видеть историю своего счета и понимать, откуда взялась именно такая сумма.
Таким же образом можно получать и состояния счета на каждый месяц, просто находим все транзакции от даты открытия счета до последнего числа предыдущего месяца и «воспроизводим» их.

P.S. Алгоритм тут не меняется, SQL или NoSQL.
Ответ написан