22.10.2 포스트를 역순으로 불러오기
페이지 기능을 구현하기에 앞서 포스트를 역순으로 불러오는 방법을 알아보겠습니다. 현재 list API에서는 포스트가 작성된 순서대로 나열되는데요. 블로그에 방문한 사람에게 가장 최근 작성된 포스트를 먼저 보여 주는 것이 좋겠지요?
이를 구현하려면 list API에서 exec()를 하기 전에 sort() 구문을 넣으면 됩니다.
sort 함수의 파라미터는 { key: 1 } 형식으로 넣는데요. key는 정렬(sorting)할 필드를 설정하는 부분이며, 오른쪽 값을 1로 설정하면 오름차순으로, -1로 설정하면 내림차순으로 정렬합니다. 우리는 _id를 내림차순으로 정렬하고 싶으니 { _id: -1 }로 설정합니다.
src/api/posts/posts.ctrl.js - list
export const list = async ctx => { try { const posts = await Post.find() .sort({ _id: -1 }) .exec(); ctx.body = posts; } catch (e) { ctx.throw(500, e); } };
다시 Postman으로 list API를 호출해 보세요. 가장 마지막으로 등록된 포스트가 맨 위에 나타났나요?
GET http://localhost:4000/api/posts