안녕하세요
6버전부터는 toObject 호출해야된다고 하셨는데 붙여서 해보니 res.json() 결과가 오브젝트아이디만 응답해주더라구요 ~!
오히려 기존 user로 넣은게 유저데이터가 잘 나오는데 버전도 6버전인데 왜 이럴까요 ?
말씀하신 내용이 findById(userId)
여기서 찾은 userId가 실제로 여러가지 담고 있는 객체인데 생성할때는 아이디만 찾아줘서 넣어주고 클라이언트로 응답해줄땐 유저데이터를 다 같이 보내준다고 저는 이해했는데
이게 6버전으로 오면서 정확하게 유저데이터만 찾아줘야된다고 toObject() 붙였던게 아닐까요 ?
왜 붙이니깐 클라이언트 응답에 오브젝트 아이디만 갈까요 ?
toObject() 붙인거
const blog = await new Blog({ ...req.body, user: user.toObject() })
//결과
{
"title": "to obj 444",
"content": "hoho test content",
"isLive": true,
"user": "61c083ebe39f17bf68fb49e9",
"_id": "621132283a6f2a42e78e4a61"
}
기존
const blog = await new Blog({ ...req.body, user })
//결과
{
"title": "to obj 333",
"content": "hoho test content",
"isLive": true,
"user": {
"name": {
"first": "333",
"last": "33333333333"
},
"_id": "61c083ebe39f17bf68fb49e9",
"username": "333",
"age": 30,
"email": "jjongrrr@naver.com333",
"createdAt": "2021-12-20T13:23:55.297Z",
"updatedAt": "2021-12-20T13:23:55.297Z",
"__v": 0,
"array": []
},
"_id": "62113070bec114bccbc7da6b"
}