사용자 생성함.
그런데 지금은 동일한 이메일 주소로 같은 사용자를 여러번 생성할 수 있는 상태임.
=> 이러면 안됨
api/auth/signup.js
파일에서
특정 이메일을 쓰는 사용자가 이미 존재하는지 확인해야 한다.
데이터 베이스 연결
<---이쪽에 코드 작성--->
비밀번호 해싱 및 사용자 저장
findOne
을 사용해서 하나의 문서를 찾을 수 있음.
findOne에 객체를 전달한다. => 해당 문서를 찾을 방법을 설명
바로, 키-값 쌍
이때 키는 email, password, _id
우리는 이메일을 검색할 것.
값으로는 data에서 얻어온 email을 넣어줄 것.
이게 프로미스를 반환하니 await
을 반환
만약, 그 이메일의 사용자를 못찾을 경우 undefined가 된다. 찾으면, user 객체가 된다.
그러니, 값이 있을 때는 return으로 반환해서 다른 코드 실행을 막는다.
그리고, status 값 보내면서 message도 보낸다 !
그리고, 데이터베이스 연결을 닫는다. 항상 이 작업을 해줘야 함.
client.close();
맨 아래에도 넣어준다.
client.close();
똑같은 사용자 생성하려 했을 때 에러 확인.
데이터 베이스도 확인해보면, 모든 이메일 주소가 하나씩만 존재.