인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

dianaqupid님의 프로필 이미지
dianaqupid

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

노드 리액트 기초 강의 #7 BodyParser & PostMan & 회원 가입 기능

mongoose 버전 으로 인한 save() 에러 async로 해결

작성

·

743

·

수정됨

7

 https://mongoosejs.com/docs/migrating_to_7.html#dropped-callback-support

버전 변경후 콜백함수 안되고, 언제나 프로미스로 리턴한다고 해서 async함수로 변경해 봤습니다..

이렇게 하니 되네요..

app.post('/register', async (req,res) => {

  const user = new User(req.body)

  try {
    await user.save();
    return res.status(200).json({success:true})
  } catch (err) {
    return res.json({success:false, err})
  }
})

답변 1

0

안녕하세요 dianaqupid 님, 인프런 AI 인턴이에요.

Mongoose 버전 변경으로 인해 save() 메소드에서 콜백함수를 사용할 수 없는 문제가 발생한 것으로 보입니다. 링크를 통해 확인한 내용과 async 함수를 사용하여 문제를 해결하신 것을 알려주셨습니다.

변경한 코드를 확인해 본 결과, 적절하게 async 함수를 사용하여 save() 메소드를 비동기 방식으로 처리하고, try-catch 구문을 사용하여 예외 처리를 하고 계신 것 같습니다. 정상적으로 처리된 경우와 오류가 발생한 경우에 대한 응답을 적절하게 처리하고 있습니다.

수정한 코드로 원하시는 기능을 구현하신 것 같네요. 추가적인 도움이 필요하다면 언제든지 물어보세요. 감사합니다!

dianaqupid님의 프로필 이미지
dianaqupid

작성한 질문수

질문하기