중복체크
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 }] 으로 가능하다.
'백엔드 > MongoDB' 카테고리의 다른 글
| DataBase (8) - User db, Join 기능 만들기 (hashing) (0) | 2023.07.16 |
|---|---|
| DataBase (7) - Search, req.query (0) | 2023.07.12 |
| DataBase (6) - Middlewares (0) | 2023.07.11 |
| DataBase (5) - Edit Data (0) | 2023.07.10 |
| DataBase (4) - 정규식표현, 16진수(24byte) 문자열 (0) | 2023.07.05 |