Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Bull
- Nest.js
- Queue
- JavaScript
- dfs
- flask
- game
- mongoose
- 정렬
- nodejs
- Dinosaur
- AWS
- 자료구조
- Sequelize
- jest
- typeORM
- GIT
- react
- class
- MongoDB
- Python
- 공룡게임
- Express
- 게임
- MySQL
- cookie
- nestjs
- OCR
- TypeScript
Archives
- Today
- Total
포시코딩
Node.js, MongoDB 로 웹서비스 만들기 - 9. 회원가입(1) - INSERT 본문
728x90
전달 받은 값을 DB 에 저장해보자
router.post('/register', (req, res)=>{
console.log('in register post');
let id = req.body.id;
let pw = req.body.pw;
db.collection('login').insertOne({id: id, pw: pw}, (error, result)=>{
res.status(200).send({message: 'ajax 통신 성공 - id: ' + id + ', pw: ' + pw});
})
})
login 콜렉션 안에 insertOne 을 통해 id 와 pw 값을 집어넣는 코드
성공일 경우 error 값이 undefined 가 되고 result 값이 리턴, 실패일 경우는 그 반대로 리턴된다.
테스트 ㄱㄱ
잘들어옴
하지만 이대로면 똑같은 아이디로 계속 가입할 수 있다.
insert 하기전에 먼저 id 값으로 데이터를 찾아보고 없으면 저장시켜주도록 하자
db.collection('login').findOne({id: id}, (error, result)=>{
if(result) {
res.send({code: 0}); // 아이디중복, 가입실패
} else {
db.collection('login').insertOne({id: id, pw: pw}, (error, result)=>{
res.send({code: 1}); // 가입성공
})
}
})
result 값이 있으면 중복인거임
status 리턴은 의미 없는거 같아서 뺐고
message 도 만약에 바꾸게 될 경우 프론트 쪽에서 수정하는게 나아보여서
code 라는 값으로 결과를 전달해주기로 함
$('#register').click(()=>{
const id = $('#id').val();
const pw = $('#pw').val();
$.ajax({
url: '/member/register',
method: 'POST',
data: {id: id, pw: pw},
}).done((result)=>{
if(result.code == 1) {
alert(id + ' 님 환영합니다!');
location.href = '/member/login';
} else {
alert('이미 가입된 아이디입니다.');
$('#id').focus();
}
})
})
성공시 로그인 페이지로 가는 코드와
실패시 아이디 input 값에 focus 를 주는것까지 추가했음
근데 비밀번호 이렇게 그대로 저장하는 사람 없음.
비밀번호 암호화 하는법을 알아보자
728x90
'Node.js' 카테고리의 다른 글
Node.js, MongoDB 로 웹서비스 만들기 - 11. 회원가입, 로그인 - bcrypt (0) | 2022.06.26 |
---|---|
Node.js, MongoDB 로 웹서비스 만들기 - 10. 회원가입(2) - bcrypt 암호화 (0) | 2022.06.10 |
Node.js, MongoDB 로 웹서비스 만들기 - 8. Ajax 로 post 요청 (0) | 2022.06.10 |
Node.js, MongoDB 로 웹서비스 만들기 - 7. MongoDB 세팅 및 연결(2) (0) | 2022.06.09 |
Node.js, MongoDB 로 웹서비스 만들기 - 6. MongoDB 세팅 및 연결(1) (0) | 2022.06.09 |