• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

required, default

21.04.14 01:27 작성 조회수 190

2

안녕하세요.

항상 강의 잘 듣고 있습니다.

감사합니다!

1. isLive 필드는  required가 true, default값이 false인데 수업 예시 처럼 클라이언트에서 isLive의 값을 주지 않을 경우 required 속성에 의해서 오류를 뱉어내야하는데 정상적으로 작동하는 이유가 default값이 설정되있고(default값이 없고 클라이언트에서 데이터를 주지않았다면 오류) new Blog(req.body) 과정에서 db로 가기전에 mongoose가 자동으로 만들어줘서 isLive를 default 값으로 만들어주어서 그런것인가요?

2.  

클라이언트 오류 처리를 required와 type 각각 처리되어야 된다고 생각하여 이렇게 로직을 짜보았는데 피드백 부탁드립니다!

감사합니다!!

답변 1

답변을 작성해보세요.

0

Dev님 안녕하세요 :)

네 말씀하신게 맞습니다. isLive필드 값을 인풋으로 따로 입력하지 않았어도 mongoose가 스키마에 설정된 default값을 보고 그 값을 isLive에 삽입해줍니다. 그래서 오류를 뱉어내지 않는거구요. 만약 required: true인데 해당 키의 인풋도 없고 default설정도 없으면 오류를 뱉어낼거에요!

Dev님의 프로필

Dev

질문자

2021.04.14

감사합니다!

그럼 default랑 required를 같이 쓰게 된다면 기존의 required 기능을 제대로 수행하지 못하는것이라고 볼 수 있을텐데 required를 사용한 이유가 있나요??