NestJs/MongoDB visual Field(가상필드)

25gStroy·2022년 1월 12일
0

Nest.js

목록 보기
9/23

visual Field

예를들어 회원가입을 진행할때 프론트단에서 백엔드 api로 통신하는 중에 password같은 중요한정보는 중간에 누군가가 낚아 체갈 수 있기때문에 숨겨주는것이 보안상 더 좋은데 이때 사용하면 유용한것이 몽고디비에서 제공해주는 visual Field라는 기능을 사용하면 좋다.

사용예시

//밑에서 정의한 가상필드를 스키마에 필드로 명시
readonly readOnlyData: { id: string; email: string; name: string };
}
//virtual 메소드를 사용해서 하면된다.
CatSchema.virtual('readOnlyData').get(function (this: Cat) {
  return {
    id: this.id,
    email: this.email,
    name: this.name,
    
// 이제 서비스 단이나 레파지토리 단에서 디비통신을 할때 해당 모델객체를 리턴하는것이아닌
return readOnlyData; 
//위와같이 리턴을해주면
//통신을 할수 있지만 가상필드이기때문에 민감한 정보는 가려서 통신 할 수 있다.
  };

위와예시와 같이 해주면 password같은 민감한 정보는 가상 필드로 통신을 하기때문에 사용자단에서 원하는 데이터만 줄 수 있다.

profile
애기 개발자

0개의 댓글