본문 바로가기

자바스크립트

객체 내부 key value 추가하기

잘 이해가 되지 않는 부분이 생겼다. 도대체 어떤 차이로 이러한 결과가 발생하는 걸까 고민해봤는데 풀리지 않아서 질문방에 질문했다. 얼마 지나지 않아 김예* 님께서 답변을 달아주셨는데 너무 명쾌한 설명이었다. 
"mongoose의 find one에서 리턴되는 객체는 정확히 Javascript object가 아니고, 약간 다른 형태라고 합니다. Javascript object로 변환하기 위해서는 lean이라는 메소드를 사용하여야 합니다. "

설명대로 .lean()을 붙이니 바로 정상작동한다. .lean()

 

변경 추적 / 캐스팅 및 검증/ 게터와 세터/ 가상/ save() 를 사용할 수 없다고한다.

find로 찾은 것은 model, 우리가 생각하는 object형태와 일치하지 않는 것으로 보인다.