게시글을 불러오기 위해 posts.js를 만들어 줍니다. findAll로 여러개의 항목을 DB에서 찾아올 수 있습니다. 시퀄라이즈의 find 메소드는 SELECT 쿼리문으로 이해하면 됩니다.
보통의 SNS를 보면 1~20까지의 게시글이 있다면 최신게시글이 최상단에 위치하는것을 볼 수 있습니다.
order를 통해 'DESC' 내림차순으로 설정을 하면 20~1로 최신 게시글이 제일 위에 나타나게 할 수 있습니다.
또한, 모든 게시글을 불러오기에는 컴퓨터 용량의 무리가 될 수 있으므로 인피니트스크롤 할 때 limit, offset 방식과 limit, lastId 방식으로 일정부분 게시글을 불러온 후 그 다음 게시글이 불러올 수 있도록 해줍니다.
하지만, limit, offset 방식에는 치명적인 단점이 있습니다.
게시글을 불러올 때 21번째 게시글이 생성이 되면 21~11, 11~1로 11번을 두번 불러오거나 반대로 게시글 중 하나(15번)가 삭제되었다면 20~11을 불러오고, 9~1을 불러오게 되면서 10번 게시글을 불러올 수가 없습니다. 따라서, 중간에 이슈가 생기면 limit, offset 방식은 꼬여버리게 됩니다.
limit과 lastId 방식을 많이 쓰게 됩니다. 20~11번을 가져오면 lastId가 11이 되고, limit이 10이므로 11뒤에 게시글을 10개를 가져오는 방식입니다.