LINUX.ORG.RU

История изменений

Исправление special-k, (текущая версия) :

Это же монго, там же довольно вольная структура данных. Почему бы не завести поле - массив (например) votes в таблице юзеров, на каждый голос ты добавляешь в votes что-то типа [1, (new Date)], таким образом у каждого пользователя много votes. На каждое добавление ты высчитываешь его рейтинг с помощью какой-нибудь функции, массив из ~1000 элементов js обсчитает за доли секунды (а сильно старые голоса можно сразу и удалять), а результат сохраняй в соседней поле (например) rait в виде целого числа, поле рейт индексируешь. В принципе, в votes можешь хранить только даты, а можешь еще и user_id голосовавшего (на всякий).

Исправление special-k, :

Это же монго, там же довольно вольная структура данных. Почему бы не завести поле - массив (например) votes в таблице юзеров, на каждый голос ты добавляешь в votes что-то типа [1, (new Date)], таким образом у каждого пользователя много votes. На каждое добавление ты высчитываешь его рейтинг с помощью какой-нибудь функции, массив из ~1000 элементов js обсчитает за доли секунды (а сильно тарые можно сразу и удалять), а результат сохраняй в соседней поле (например) rait ввиде целого числа, поле рейт индексируешь. В принципе, в votes можешь хранить только даты, а можешь еще и user_id голосовавшего (на всякий).

Исправление special-k, :

Это же монго, там же довольно вольная структура данных. Почему бы не завести поле - массив (например) votes в таблице юзеров, на каждый голос ты добавляешь в votes что-то типа [1, (new Date)], таким образом у каждого пользователя много votes. На каждое добавление ты высчитываешь его рейтинг с помощью какой-нибудь функции, массив и ~1000 записей js обсчитает за доли секунды (а сильно тарые можно сразу и удалять), а результат сохраняй в соседней поле (например) rait ввиде целого числа, поле рейт индексируешь. В принципе, в votes можешь хранить только даты, а можешь еще и user_id голосовавшего (на всякий).

Исходная версия special-k, :

Это же монго, там же довольно вольная структура данных. Почему бы не завести поле - массив (например) votes, на каждый голос ты добавляешь в votes что-то типа [1, (new Date)], таким образом у каждого пользователя много votes. На каждое добавление ты высчитываешь его рейтинг с помощью какой-нибудь функции, массив и ~1000 записей js обсчитает за доли секунды (а сильно тарые можно сразу и удалять), а результат сохраняй в соседней поле (например) rait ввиде целого числа, поле рейт индексируешь. В принципе, в votes можешь хранить только даты, а можешь еще и user_id голосовавшего (на всякий).