2014-10-20 4 views
0

나는 투표 할 수있는 게시물로 만들고 있습니다. 각 투표는 게시물의 점수에 기여합니다. 각 게시물에는 ID와 점수가 있습니다. 나는 뜨거운 글을 찾기 위해 MongoDB에 질의를 시도하고있다. 게시물을 게시 할 때 정렬하여 가장 최근의 100 개를 취한 다음 점수별로 정렬하여이 작업을 수행하고 싶습니다. 게시물은 _id와 점수가있는 몽구스 스키마입니다. 시도 :MongoDB 여러 필드로 정렬

Post.find({}).sort({_id: -1}).limit(100).sort({score: -1}).exec(function(err, posts) { 
    if(err){ 
     res.status(500).send(err); 
    } else { 
     //do stuff 
    } 
}); 

그러나 이로 인해 오류가 발생합니다. 문제를 해결하거나 다른 방식으로 원하는 정렬을 수행하려면 어떻게해야합니까? 감사합니다

여러 정렬 단계를 수행 할 aggregate을 사용할 수 있습니다

답변

0

:

Post.aggregate([ 
    {$sort: {_id: -1}}, 
    {$limit: 100}, 
    {$sort: {score: -1}} 
], function(err, posts) { ...});