根据排名列出图库

时间:2017-01-11 14:19:44

标签: mongodb pagination document

我创建了一个带有图像提要的网站(类似于pinterest)。我希望按照它们的受欢迎程度(没有喜欢和观看每个图像接收)的分页列出这些图像。

我很困惑如何实现这个..

我们正在使用mongoDB, 文档包含以下字段 1. _id 2. user_id 3. image_id 4.得分(这是人气的价值,(没有观点)+ 10倍(不喜欢)) 5.排名

我们正在考虑每天运行一个脚本来计算得分值。 并运行循环脚本来分配排名(具有最高分数的图像获得第一等级,第二高等级获得等级2等)。

然后,Feed按照等级的升序提取图像。 运行这样一个包含数百万个此类文档的脚本将花费大量时间。 有没有更好的方法呢?

1 个答案:

答案 0 :(得分:0)

您可以尝试不同的方法来满足您的需求,实施它们并找到最佳方案。

  1. 你的想法:后台工作(在晚上)计算db中的字段
  2. 更新页面:选择图片,按喜欢订购* 10 + views desc
  3. 在每个图像视图等上,更新图像等级