我正在使用 MongoDB 构建一个 Hacker-News 或 Reddit 风格的社交新闻网站。假设我想存储有多少人点击了每个链接,以便将点击次数计入链接的流行度得分。我应该如何组织我的数据?我可以:
A)在每个链接对象中存储单击链接的用户数组。
B) 存储在每个用户对象中单击的链接数组
C) 两者都做
D)做点别的……(但是什么?)
A) 的优点是获得每个链接的点击次数是微不足道的。另一方面,B) 的优点是您可以轻松地向用户显示他们点击的链接的历史记录。当然,C) 可以让你两者都做,但要以复制数据为代价。
那么我应该选择哪种解决方案以获得最佳性能?有没有“正确”的方法来解决这个问题?