인프런 커뮤니티 질문&답변

nisnos님의 프로필 이미지
nisnos

작성한 질문수

mongoDB 기초부터 실무까지(feat. Node.js)

Comment POST API 수정하기

블로그 생성 후 응답 값에 id, _id 둘 다 나오는 이유가 궁금해요~

작성

·

842

0

안녕하세요. 강사님!
강의 너무나 유익하게 잘 보고 있습니다!
 
오늘 궁금한건 아래와 같아요.
블로그 post api 응답값에 _id 와 id가 모두 나오는데 각각 로직의 어느 부분에서 나오게 된건지 궁금해요!
 
{
"blog": {
"title": "Handmade title",
"content": "Handmade content",
"isLive": true,
"user": {
"_id": "615bd756d21a61989f312d16",
"username": "Bettye.Prosacco595",
"name": {
"first": "Marley",
"last": "Leuschke"
}
},
"_id": "615ea22b706c8fa1ae8e3950",
"createdAt": "2021-10-07T07:30:51.545Z",
"updatedAt": "2021-10-07T07:30:51.545Z",
"__v": 0,
"id": "615ea22b706c8fa1ae8e3950"
}
}
 
 

답변 1

0

김시훈님의 프로필 이미지
김시훈
지식공유자

mongoose에서 내부적으로 제공해주는 기능 때문입니다! MongoDB Compass에 들어가서 보시면 _id는 ObjectId 타입으로 생성이 되어 있지만 id는 없을거에요. mongoose로 문서들을 읽어오면 자동으로 id라는 필드를 추가해줘요. ObjectId 타입인 _id를 string으로 변환해서 id를 만들어줍니다.

 

이걸 API처리에서 리턴을 해주면 express는 _id, id 둘다 보내게 됩니다. JSON에 ObjectId 타입이 없어서 string으로 변환해서 전달이 되는거고요

nisnos님의 프로필 이미지
nisnos

작성한 질문수

질문하기