-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
isModified 부분 질문을 드립니다.
21.04.11 19:11 작성 조회수 740
1
if(user.isModified('password')){
}
위 부분에서 user는 this를 가리키고 있는 것은 인지했고 isModified는 user에 있는 속성이 아니라 사용자가 임의로 지정해 놓은 것 같은데요 임의로 지정한 isModified 안에 'password'가 어떻게 오는 것인지 모르겠습니다..
답변을 작성해보세요.
5
김현지
2021.04.22
안녕하세요, Sounghyun Jeon님!
isModified()
라는 함수는 mongoose 모듈에 포함되어있는 함수입니다.
파라미터로 들어온 값이 db에 기록된 값과 비교해서 변경된 경우는 true
를, 그렇지 않은 경우는 false
를 반환하는 함수입니다.
user 생성 시에는 항상 true
이며, user가 수정되는 경우에는 password가 변경되는 경우에만 true
를 반환합니다.
user.password
의 변경이 없는 경우라면 이미 해당 위치에 hash가 저장되어있으므로 false
를 반환해 다시 암호화를 하지 않습니다.
현재 생성한 userSchema가 mongoose를 활용해서 생성한 schema이기 때문에 mongoose 모듈에 포함되어있는 isModified()
를 사용할 수 있다고 이해하시면 될 것 같습니다.
혹시 궁금하신 점이 있다면 댓글 남겨주세요.
도움이 되었으면 좋겠습니다. :)
답변 1