Хранение инкрементных цен в MongoDB - PullRequest
0 голосов
/ 30 марта 2012

Я использую MongoDB и MySQL для различных аспектов сайта электронной коммерции.

Одна из функций - это торги. Цена увеличивается с каждой ставкой.

Есть несколько способов, которыми я мог бы сделать это, например, иметь один столбец, который обновляет «цену», или я мог бы иметь другой столбец, который просто добавляет цены, и я могу получить самую последнюю цену на основе даты, требуя заказа по , Кроме того, каждая новая цена будет основываться на текущей высокой цене, поэтому мне нужно знать текущую высокую цену.

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

Любые предложения будут великолепны!

Спасибо!

1 Ответ

0 голосов
/ 30 марта 2012

Вы можете атомарно обновлять документы в mongodb, есть оператор $ inc, поэтому вы можете атомарно обновлять «максимальную цену» документа, в то же время $, например, переводит последнего участника торгов, дату и повышение цены в массив.Таким образом, вы никогда не рискуете получить непоследовательный аукционный документ.Использование безопасного режима для записи также необходимо.

Разделение заявок на отдельные документы, которые вы затем собираете, чтобы найти текущую цену, является еще одним решением.Это действительно зависит от того, какое состояние вы отслеживаете с помощью ставок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...