app.get('/list/1', async (요청, 응답) => {
let result = await db.collection('post').find().limit(5).toArray()
응답.render('list.ejs', { 글목록: result })
})
app.get('/list/2', async (요청, 응답) => {
let result = await db.collection('post').find().skip(5).limit(5).toArray()
응답.render('list.ejs', { 글목록: result })
})
app.get('/list/3', async (요청, 응답) => {
let result = await db.collection('post').find().skip(10).limit(5).toArray()
응답.render('list.ejs', { 글목록: result })
})
위처럼 나눠서 해야됐을 부분을 URL Parameters 를 이용해서
app.get('/list/:number', async (요청, 응답) => {
let result = await db.collection('post').find().skip((요청.params.number -1) * 5 ).limit(5).toArray()
응답.render('list.ejs', { 글목록: result })
})
다음과 같이 만들었다.
<a href="/list/next/<%= 글목록[글목록.length-1]._id%>">다음</a>
다음 버튼도 만들어주었고
app.get('/list/next/:id', async (요청, 응답) => {
let result = await db.collection('post').find({_id : {$gt : new ObjectId (요청.params.id) }}).limit(5).toArray()
응답.render('list.ejs', { 글목록: result })
})
다음 버튼이 눌렸을 때 동작하게 될 서버 코드도 작성했다.
'컴퓨터 프로그래밍 > Node.js' 카테고리의 다른 글
[Node.js] API들 다른 파일로 분리하기 (Router) (0) | 2023.11.15 |
---|---|
[Node.js] JWT, session, OAuth (0) | 2023.11.11 |
[Node.js] 삭제기능 만들기 (0) | 2023.11.08 |
[Node.js] AJAX, query string (0) | 2023.11.08 |
[Node.js] 수정기능 만들기 2 MongoDB 수정문법 (0) | 2023.11.08 |