[Node.js]
[Node.js] 페이지 기능 만들기
VaIice
2024. 7. 16. 17:37
1. 서버 코드
// server.js
app.get('/list/:page', async (request, response) => {
let page = parseInt(request.params.page);
let itemsPerPage = 5;
let result_number = await db.collection('main').countDocuments();
let page_number = Math.ceil(result_number / itemsPerPage);
let result = await db.collection('main')
.find()
.skip((page - 1) * itemsPerPage)
.limit(itemsPerPage)
.toArray();
response.render('main.ejs', {posts: result, page_number: page_number, current_page: page})
})
countDocuments: collection의 전체 document 수
find: 특정 조건에 맞는 document 검색 / 조건이 없다면 모든 문서 검색
skip: 건너 뛸 문서의 수
limit: 표시할 문서의 수
// main.ejs
<% for(let i = 1; i <= page_number; i++) {%>
<a href="/list/<%-i%>">
<div class="form-box">
<%- i%>
</div>
</a>
<% } %>