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

코코님의 프로필 이미지
코코

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

관계 쿼리 알아보기

시퀄라이즈 쿼리문에 req.user값 사용법

해결된 질문

작성

·

284

1

시퀄라이즈 쿼리문에 

where: {

email: req.user},

이렇게 넣고 싶은데 어떻게 사용해야하나요?

로그인 후에 req.user에 이메일이 저장되고, 이 사용자의 post를 뽑아내고 싶은 상황입니다.

답변 2

0

코코님의 프로필 이미지
코코
질문자

삭제된 글입니다

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

User에 왜 User를 include하시나요?

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

req.user.email 하면 됩니다.

코코님의 프로필 이미지
코코
질문자

router.get("/mypage", isLoggedIn, async (req, res, next) => {
  //console.log(req.user.email);
  try {
    const myinfo = await User.findOne({
      include: {
        model: User,
        attributes: ["email", "introduce"],
        where: {
          email: req.user.email,
        },
      },
    });
    console.log(myinfo);
    res.status(200).json({
      email: myinfo,
    });
  } catch (err) {
    res.status(400).json({
      error: err,
    });
  }
});

코코님의 프로필 이미지
코코
질문자

제 코드인데요, 

{"error":{"name":"SequelizeEagerLoadingError"}}

이런에러가 나옵니다. console.log(myinfo);는 터미널에 찍히지도 않는상황인데 뭐가 문제일까요..?

(introduce는 시퀄라이즈모델에 임의로 넣은 값이고, db에도 넣어져 있는 컬럼 값입니다!)

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

User에 왜 User를 include하시나요?

코코님의 프로필 이미지
코코
질문자

와!! 해결됬습니다!! 감사합니다..ㅎ

시쿼라이즈 문법이 아직 익숙치 않아서 검색결과를 생각없이 그대로 따라했습니다.

감사합니다!

코코님의 프로필 이미지
코코
질문자

현영님 추가로 궁금한게 있는데요, 

const userEmail = req.user.email;  을 하고 

where: userEmail 로 선언하면 안되는건가요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

그래도 됩니다.

코코님의 프로필 이미지
코코
질문자

네 감사합니다!

코코님의 프로필 이미지
코코

작성한 질문수

질문하기