coding/Error

const castError = new CastError();

JIN_Coder 2022. 7. 29. 17:07

사용자 인증 미들웨어를 만들다가 const castError = new CastError(); 라는 오류를 만났다

 

대략 이런 오류 메세지

try {
    const { userId } = jwt.verify(tokenValue, secretKey);
    User.findById({ userId }).then((user) => {
        res.locals.user = user;
        next();
    });
  } catch (err) {
    res.status(401).send({
      errMessage: "로그인이 필요합니다.",
    });
    return;
  }

대략 이런 미들웨어 구문에서 id 값을 찾아서 res.locals에 담아주려고 하는데 id로 찾는 부분에서 문제가 일어난듯 했다.

구글링을해서 찾아보니 findById가 아닌 findOne으로 값을 찾으면 된다는 글을 보고

바로 적용했다.

try {
    const { userId } = jwt.verify(tokenValue, secretKey);
    User.findOne({ _id: userId }).then((user) => {
        res.locals.user = user;
        next();
    });
  } catch (err) {
    res.status(401).send({
      errMessage: "로그인이 필요합니다.",
    });
    return;
  }

해결!

 

 

 

[오류 해결] CastError: Cast to ObjectId failed for value "값" at path "_id" for model "모델명"

오류 문구 CastError: Cast to ObjectId failed for value "{ plan: '600be36d1f423d1e3c1356e9' }" at path "_id" for model "Feedback" at model.Query.exec (C:\Users\MINJI\Desktop\greenday\node_modules\mon..

how-can-i.tistory.com

감사합니다.

'coding > Error' 카테고리의 다른 글

인스턴스 접속 에러  (0) 2022.08.19
외래키 설정  (0) 2022.08.14
함수의 {return }  (0) 2022.08.04
SyntaxError: Unexpected token } in JSON at position 67  (0) 2022.07.29
코딩 폴더 및 파일 이동시 오류  (0) 2022.05.01