일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- express
- 백준 예산
- 소프티어 장애물인식프로그램
- MongoDB
- 백준 전쟁-전투
- 금고털이 파이썬
- 프로그래머스
- 지도자동구축 파이썬
- 백준 등수매기기
- 백준 피아노체조
- 백준 평범한배낭
- 백준 바이러스
- express mongodb
- 백준 A->B
- 백준알파벳파이썬
- jenkins
- 장애물인식프로그램 파이썬
- 파이썬데이터분석라이브러리
- 파이썬 평범한배낭
- 1987파이썬
- MySQL완전삭제
- 백준 점프
- 소프티어 지도자동구축
- 피아노체조 파이썬
- 백준
- 백준 점프 파이썬
- 등수매기기 파이썬
- 백준 전쟁 파이썬
- CRUD
- 도커 컨테이너
- Today
- Total
바위 뚫는중
[Node.js] Express와 MongoDB를 이용한 CRUD 프로젝트 - (2) 본문
https://dev-raeun.tistory.com/26
저번시간이어서 진행!
[Server] Express와 MongoDB를 이용한 CRUD 프로젝트 - (1)
Express와 MongoDB를 이용한 CRUD 프로젝트 https://zellwk.com/blog/crud-express-mongodb/ 위를 참고했다! 개발환경 👩🏻💻 Macbook M1 node.js, Express 설치되어있음 CRUD 란? 차례로 만들기, 읽기, 수정,..
dev-raeun.tistory.com
CRUD - CREATE
서버로 POST요청을 보낼때, 브라우저에서 CREATE 작업을 수행함
자바스크립트의 <form> tag를 이용하여 post request 가능
POST request를 보내려면 index.html 파일에 <form>을 추가하면 된다.
FORM 요소
- action attribute : 어디에 보낼것?
- method attribute : 어떻게 보낼것?
- name attributes on each <input> elements within the form
백문이 불여일견임,,!
index.html에 다음과 같은 <form> 형식을 써주자
<form action="/quotes" method="POST">
<input type="text" placeholder="name" name="name">
<input type="text" placeholder="quote" name="quote">
<button type="submit">Submit</button>
</form>
- 첫번째 줄의 method: 우리가 어떤 형식의 요청을 보낼지 브라우저에게 알려준다.
- 지금 우리 코드에선 ‘POST’ 요청을 보내고 있다
- 첫번째 줄의 action: 해당 속성은 브라우저가 어디로 ‘POST’ 요청을 보내야하는지 알려주고 있다.
- 지금 우리 코드에서는 ‘/quotes’ 로 ‘POST’ 요청을 보내고 있다
우리는 위의 POST 요청을 server.js의 ‘POST’ 방법으로 처리할 수 있고, action 속성에는 경로를 나타내면 된다. server.js 에 다음과 같은 코드를 추가해주자.
app.post('/quotes', (req, res) => {
console.log('안녕 quotes 페이지에 온걸 환영해!')
})
해당 칸에 ‘아무말’이나 적고 submit을 눌러보자.
누를 때 마다, 미리 써둔 것이 뜨는 것을 확인 할 수 있다.
자, 그럼 지금까지 Express가 어떻게 form을 다루는지 배웠다!
그렇다면 우리가 입력한 그 ‘아무말’은 어떻게 얻을 수 있을까?
Express는 <form>만으로는 ‘아무말’ data를 읽어들일 수 없다.
body-parser
body-parser라고 불리는 또다른 패키지를 설치해줘야 한다.
npm install body-parser --save
body-parser은 middleware이다.
이것은 request 객체를 사용하기 전으로 tidy up (= clean up) 할수 있게 도와준다.
이 middleware를 사용하려면 Express에서는 ‘use’ method를 사용하면 된다!
const express = require('express') //express 쓸게
const bodyParser= require('body-parser') //middleware 쓸게
const app = express()
// Make sure you place body-parser before your CRUD handlers!
app.use(bodyParser.urlencoded({ extended: true }))
// All your handlers here...
app.get('/', (req, res) => {/*...*/})
app.post('/quotes', (req, res) => {/*...*/})
‘body-parser’내의 ‘urlencoded’ method는 ‘body-parser’가 <form>의 data를 추출하고, 이 data들을 request 객체의 body 속성에 더할 수 있게 해줌.
우리는 아까 형식에 맞춰서 이렇게 써준다.
그렇다면, 이제 req.body 안의 form요소들의 값을 볼 수 있다는 소리다.
server.js의 코드도 이렇게 바꿔주면 된다.
//server.js
app.post('/quotes', (req, res) => {
console.log(req.body)
})
node를 재실행하고, form에 아무거나 입력해보고 console.log가 어떤지 확인해보자.
여기까지 아주 잘보인다. CREATE 까지도 완성이랍니다.
이제 다음엔 MongoDB와 연동하여 이 data를 index페이지에 나타내보자! 미니 게시판을 꾸려봅시다.
https://dev-raeun.tistory.com/28
[Node.js] Express와 MongoDB를 이용한 CRUD 프로젝트 - (3) Express, MongoDB 연동, CREATE
MongoDB 몽고DB는 말그대로 데이터베이스의 종류 중 하나다. 저번 시간에 이어서, data를 저장하고 나타내기 위해 사용할 것이다! 참고로 나는 Mongoose 이용은 하지 않고 진행했다. npm으로 MongoDB설치 n
dev-raeun.tistory.com
'Nodejs' 카테고리의 다른 글
Azure, Nginx를 이용하여 Node.js의 리버스 프록시 서버 설정, pm2 사용법 서버 무중단 배포, vscode 원격접속 (0) | 2022.11.22 |
---|---|
[Node.js] Express와 MongoDB를 이용한 CRUD 프로젝트 - (4) MongoDB 연동하여 READ (0) | 2022.11.08 |
[Node.js] Express와 MongoDB를 이용한 CRUD 프로젝트 - (3) Express, MongoDB 연동, CREATE (0) | 2022.10.25 |
[Node.js] Express와 MongoDB를 이용한 CRUD 프로젝트 - (1) (0) | 2022.10.21 |
[Node.js] Nodemailer, express, mysql 모듈 사용 (0) | 2021.11.18 |