mongodb/mongoose에서 특정 필드 숨기기
mongoose를 사용하다 보면 특정 필드를 숨겨야 할 때가 있다.
예를 들어 find나 findOne을 사용하거나 populate를 사용할 때 비밀번호가 같이 조회 될 때 해당 필드를 숨겨야 한다.
이럴 때는 모델에 다음과 같이 사용하면 된다.
password: { type: String, select: false }
이렇게 하면 기본적으로 해당 필드가 나오지 않는다.
해당 필드가 필요할 때는 다음과 같이 조회하면 된다.
Users.findOne({_id: id}).select('+password');
+password 처럼 사용하면 된다. 보호할 필드가 있을 때 참고하자.
출처 : stackoverflow 질문
공유하기
조회수 : 479