본문 바로가기

백엔드/MongoDB

DataBase (9) - Join Check! (중복, 비밀번호 체크 메세지)

중복체크

user.schema에서 username / email 을 한가지 값만 올 수 있도록 unique:true로 설정하였다. 그래서 중복된 값을 입력하게 되면 서버측에 에러가 발생하게 된다. 이 에러가 발생하기 전에 에러 메세지 형태로 출력하여 유저에게 알려줘야 한다.

if문을 사용하여 username과 email 이 데이터베이스에 있는지 (exists 함수 사용) 체크한다. true일 경우 아레 에러 메세지 발생! 해당 코드를 보면 username과 email 체크하는게 동일한 코드를 사용하고 있다. $or 연산자를 사용하면 둘 중 하나가 true일 경우 해당 데이터를 찾아온다. 

 

$or — MongoDB Manual

Docs Home → MongoDB Manual $orThe $or operator performs a logical OR operation on an array of one or more and selects the documents that satisfy at least one of the . The $or has the following syntax:{ $or: [ { }, { }, ... , { } ] }Consider the following

www.mongodb.com

$or 연산자를 사용하면 아래와 같이 사용할 수 있다. 단, 유저 입장에서는 username과 email 중 어떤게 중복인지 모르니까 별루임!

비밀번호 확인

사용자가 입력한 비밀번호가 정확한게 입력했는지 체크가 필요하다.

 

* 중복으로 사용되는 pageTitle: "Join" 을 변수로 지정해서 간단하게 표현할 수 있다.
const pageTitle = "Join" 

reder ( {
pageTitle
})

* &or: [{ username:req.body.username }] 의 경우 [{ username }] 으로 가능하다.

 

반응형