app.post('/add', async (요청, 응답) => {
console.log(요청.body)
await db.collection('post').insertOne({ title: 요청.body.title, content: 요청.body.content })
응답.redirect('/list')
})
다음과 같이 DB 로 저장을 시킬 수 있다.
요청.body 를 출력하면 데이터가 object 자료형식으로 출력되는데,
요청.body.title 처럼 해당 데이터를 지정한 DB의 key 값에 매치시켜 저장할 수 있다.
저장된 후에 응답.redirect('/list') 를 하면 자동으로 페이지를 옮긴다.
하지만 위 코드는 서버에서 한 번 검열하는 기능이 없어 안정성면에서 떨어진다.
app.post('/add', async (요청, 응답) => {
console.log(요청.body)
try {
if (요청.body.title == '') {
응답.send('제목입력안했음')
} else {
await db.collection('post').insertOne({ title: 요청.body.title, content: 요청.body.content })
응답.redirect('/list')
}
} catch (e) {
console.log(e)
응답.status(500).send('서버에러남')
}
})
우선 if 문을 이용해서 title 값이 빈칸이면 DB 로 바로 저장이 안되게끔 코드를 짰고,
try ~ catch 문을 이용해 서버에 오류가 생겼을 시에 이를 알려주기 위한 코드를 짰다.
e 변수는 에러 문구를 보여준다고 한다.
'컴퓨터 프로그래밍 > Node.js' 카테고리의 다른 글
[Node.js] 상세페이지 만들기 2 (링크 만들기) (0) | 2023.11.07 |
---|---|
[Node.js] 상세페이지 만들기1 (URL parameter) (0) | 2023.11.07 |
[Node.js] 글 작성기능 만들기 1 (POST 요청) (0) | 2023.11.07 |
[Node.js] RESTful API (0) | 2023.11.06 |
[Node.js] 여러 글을 한 번에 출력 (EJS 문법2) (0) | 2023.11.06 |