В настоящее время я пытаюсь разобраться с номером SQL (что довольно сложно из SQL). Поскольку я хотел бы go просмотреть некоторые примеры, чтобы лучше понять, я в настоящее время немного застрял со следующим:
Предполагая, что у меня есть следующие коллекции: пользователь, сообщения и голоса. Пользователь может увеличивать или уменьшать количество сообщений и фильтровать их. Как мне нужно структурировать свои коллекции для эффективного запроса чего-то вроде «большинства постов с наибольшим количеством голосов за последние 24 часа»?
Моим первым предположением было бы что-то вроде:
votes:
user (user id)
post (post id)
value (down or upvote)
posts:
title
votes:
user (user id)
date
value (down or upvote)
Что сразу поймало мою Внимание к этому подходу: мне нужно обновлять голоса в голосах и сообщениях каждый раз, когда пользователь меняет свой голос, верно? Кроме этого, это было бы моим решением этой проблемы, так как я могу получить доступ к дате голосования в каждом посте. Мое единственное другое беспокойство в этом пункте было бы, что это возможно может быть проблематичным c с тысячами голосов?