Sequelize 시리즈
- [Node.js] Sequelize(1) - sequelize와 sequelize-cli
- [Node.js] sequelize(2) - 모델 정의하기
- [Node.js] sequelize(3) - CRUD + RESTful 게시판 만들기
- [Node.js] sequelize(4) - 관계 설정( association ) 및 게시판 댓글 구현하기
- [Node.js] sequelize(5) - seed 활용하기
- [Node.js] sequelize(6) - 제약조건 추가 ( custom validate )
- [Node.js] sequelize(7) - 검색기능에 필요한 query operator
- [Node.js] sequelize(8) - pagination
2019. 07. 21 수정
Node.js에서 sequelize를 사용하고 있을 때 pagination이 필요한 경우,
별도의 모듈을 설치할 필요없이 sequelize에서 제공하는 Limit과 Offset을 이용하면 됩니다. ( 참고 )
예를 들어, 하나의 페이지에 7개의 게시글을 보여주고 싶다면 아래와 같이 작성할 수 있습니다.
let pageNum = req.query.page; // 요청 페이지 넘버
let offset = 0;
if(pageNum > 1){
offset = 7 * (pageNum - 1);
}
models.post.findAll({
// pagination
offset: offset,
limit: 7
})
복잡하게 페이징 알고리즘을 생각할 필요없이 매우 간단하게 paging을 처리할 수 있습니다.