해결된 질문
작성
·
191
3
const user = new User(req.body)는 왜 async를 안해주는지 궁금합니다.
애초에 new User는 동기적으로 처리되는 코드인가요?
감사합니다!
답변 2
1
Dev님 안녕하세요 :)
이 부분은 User라는 instance를 생성하는건데요. 데이터베이스에 저장이 되는건 아니고 변수 선언하는것과 비슷한거라고 보시면 되요. 생성된 객체 안에는 req.boy의 필드들이 들어 있을거고요. schema에서 default로 선언해준게 있으면 그것도 선언이 되어 있을거고요. 그 외 mongoose에서 혹은 본인이 선언해준 method들이 포함되어 있을거에요. 저희가 쓰는 대표적인 method로 .save가 있죠.
user.save()는 Promise를 리턴해요. 여기서 외부(데이터베이스)로 호출이 들어가기 때문에 Promise를 리턴해줘요. 따라서 여기서 await user.save()를 해줘야 합니다 :)
0
감사합니다!!