NestJS

NestJs/MongoDB visual Field(가상필드)

25G 2023. 11. 6. 21:22

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같은 민감한 정보는 가상 필드로 통신을 하기때문에 사용자단에서 원하는 데이터만 줄 수 있다.

'NestJS' 카테고리의 다른 글

NestJs swagger문서 보안  (1) 2023.11.06
NestJS/Swagger 사용  (0) 2023.11.06
NestJS Request lifecycle  (0) 2023.11.06
NestJs모듈이란?  (0) 2023.11.06
NestJs 프로젝트 기본구조  (0) 2023.11.06