MongoDB按多个字段排序
我正在与职位,可以投票。每一次投票都有助于一个职位的得分。每个帖子都有一个id和一个分数。我正在尝试查询MongoDB以查找热门帖子。我想通过按帖子发布时间排序,取最近的100个,然后按分数排序这100个。Post是一个mongoose模式,其中包含_id和分数。我试过:MongoDB按多个字段排序,mongodb,mongoose,Mongodb,Mongoose,我正在与职位,可以投票。每一次投票都有助于一个职位的得分。每个帖子都有一个id和一个分数。我正在尝试查询MongoDB以查找热门帖子。我想通过按帖子发布时间排序,取最近的100个,然后按分数排序这100个。Post是一个mongoose模式,其中包含_id和分数。我试过: Post.find({}).sort({_id: -1}).limit(100).sort({score: -1}).exec(function(err, posts) { if(err){ res.s
Post.find({}).sort({_id: -1}).limit(100).sort({score: -1}).exec(function(err, posts) {
if(err){
res.status(500).send(err);
} else {
//do stuff
}
});
但是,这会导致错误。如何修复它或以不同的方式实现所需的排序?谢谢您可以使用来执行多个排序阶段:
邮政集邮[
{$sort:{u id:-1}},
{$limit:100},
{$sort:{score:-1}}
],functionerr,posts{…};