【问题标题】:Listing an image gallery based on ranking根据排名列出图片库
【发布时间】:2017-01-11 22:33:57
【问题描述】:

我正在创建一个包含图片提要的网站(类似于 pinterest)。我想通过分页按受欢迎程度的升序列出这些图片(每张图片收到的点赞数和浏览量)。

我对如何实现这一点感到困惑..

我们正在使用 mongoDB, 文档具有以下字段 1._id 2.user_id 3. image_id 4. 分数(即人气值,(观看次数)+ 10x(点赞数)) 5.排名

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

Feed 然后按排名升序获取图像。 运行包含数百万个此类文档的脚本将花费大量时间。 有没有更好的方法来做到这一点?

【问题讨论】:

    标签: mongodb pagination document


    【解决方案1】:

    您可以根据自己的需要尝试不同的方法,实施它们并找到最佳方法。

    1. 您的想法:后台作业(在夜间)计算 db 中的字段
    2. 更新页面:选择图片,按赞排序*10 + 浏览次数说明
    3. 在每个图像视图或喜欢上,更新图像排名

    【讨论】:

    • 你不认为在每次点赞时更新图像排名会很昂贵。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    • 2019-12-18
    相关资源
    最近更新 更多