我想显示基于likes
和的数据库中的帖子列表date
,想想基本的“趋势”项目页面。
我想使用一个公式score = likes / daysSinceCreation
,然后根据这个分数获得前 10 个帖子。
如何使用 mongoDB/Mongoose 添加该排序功能?
Posts.find().sort(???).limit(10).then(posts => console.log(posts));
目前我可以获得上周的热门帖子(查找创建日期是否大于上周并按分数排序),但是如何在不从数据库中获取所有项目的情况下实现更复杂的排序功能?
例如:今天是星期五
ID CREATION_DAY LIKES
1 Monday 4 // score is 5/5 = 0
2 Tuesday 10 // score is 10/4 = 2
3 Wednesday 3 // score is 3/3 = 1
4 Thursday 20 // score is 20/2 = 10
5 Friday 5 // score is 5/1 = 5
ID的排序列表是:[4 (Th), 5 (Fr), 2 (Tu), 3 (We), 1(Mo)]