상세 컨텐츠

본문 제목

Sequelize:: DB에서 프론트로 필요한 정보만 전달하기

Sequelize

by 비오스터딩 2021. 1. 1. 14:56

본문

필요한정보만 찾는 sequelize 메서드

  모델.findOne();  

 


 

로그인을 하고 난후 state를 확인해보자.

로그인할때 사용햇던 email과 password, 그리고 미리 지정해놓은 nickname과

DB에서 자동으로 만들어 준 id, createAt, updateA을

서버에서 받아왔다.

 

하지만 password 정보를 브라우저로 가져오면 보안에 위협이 될 수 있다.

또한 내가 작성한 포스트나 팔로워 등에 대한 정보도 필요하다.

 

기본 정보 이외에 추가적인 정보를 받아오고,

비밀번호에 대한 정보는 받지않기 위해 코드를 짜보자.

 

원래 기본코드

routes/user.js

여기서 if(info) { 이 부분을 추가해 줘서 가져오는 정보를 바꿔주자.}

 

추가하기위해서는 다음과 같은 코드를 사용한다.

  User.findOne({                   

  where: { id: user.id },                        

  attributes: { 추가하고싶은 속성 지정가능  

               exclude: [제외하고싶은 속성] },  

  include: [{ model: 추가하고싶은 모델,          

                    as: 모델-모델사이에 as설정이 있다면 설정 }],  

  });  

ex) models/user.js

 

코드 설정이후 다시 로그인을 하고 state를 확인해보자.

설정한대로 정보가 전달되었다!

반응형

관련글 더보기

댓글 영역