inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

탄탄한 백엔드 NestJS, 기초부터 심화까지

고양이끼리 소통 API (댓글, 좋아요) - 서비스 완성

자식의 요소까지 populate를 사용하려면 어떻게 해야할까요?

222

angryduck

작성한 질문수 3

0

안녕하세요! 강사님 강의를 보고 여러가지 응용해보고 싶어서 중고장터를 클론코딩 하고 있습니다.

그러던 와중 특정 상품에 들어가면 상품에 달린 문의 글을 불러오는 로직을 작성했습니다.

하지만 문의글을 작성한 유저의 아이디만 불러올 뿐 populate를 할 수 있는 방법이 떠오르지 않아 도움 요청합니다..

 

DB의 구조는

상품 모델, 유저 모델, 상품문의 모델이 있다고 할 때

 

상품문의 모델은

문의가 작성된 상품 아이디: ObjectId(62149490b348c807b4337881)

문의를 작성한 유저 아이디:

ObjectId(6224a99d95dcdc366868efe8)

문의 내용: "언제 구매한 물품인가요?"

 

이런식으로 설계되어 있고 특정 상품을 클릭하면

상품에 입력된 여러 정보와 상품 고유 아이디를 통해

상품문의 내용들을 populate 하여 모두 불러왔습니다.

 

그렇게 되니 최종적으로

{

상품아이디:  ObjectId(62149490b348c807b4337881)

상품명: "사과",

설명: "택배 불가능"

문의: [

{

문의가 작성된 상품 아이디:                   ObjectId(62149490b348c807b4337881)

문의를 작성한 유저 아이디:

ObjectId(6224a99d95dcdc366868efe8)

문의 내용: "언제 구매한 물품인가요?"

}, 

{

문의가 작성된 상품 아이디:                   ObjectId(62149490b348c807b4337881)

문의를 작성한 유저 아이디:

ObjectId(498dmek21v2hu3166868efe8)

문의 내용: "2차 구매자 입니까?"

}

]

이런식으로 결과가 문의내용은 잘 불러옵니다.

하지만 배열에 담긴 유저 정보도 불러오기 위해  populate를 사용하러면 어떤식으로 사용을 해야할지 모르겠습니다.

모든 배열을 돌면서 해당하는 유저아이디만 찾아서 조합하는 방법을 떠올렸지만 너무 비효율적인것 같아 강사님의 솔루션을 듣고 싶습니다.

깃허브 주소 첨부합니다.

https://github.com/nogoduck/Lightning-marketplace-Clone

mongodb express nodejs NestJS ssr

답변 0

프로젝트 환경 세팅할 때 최신 노드 버젼을 사용하시는 분들은 참고하셔도 좋을 것 같아요~

2

107

1

DTO에 대한 질문

1

99

2

백엔드 MVC에서 View의 역할은 무엇인가요?

1

114

2

추가 업데이트 관련 건

0

106

2

nest js 버전문제

0

97

2

mongdb 스키마 공식 문서와 형태가 다른 이유 궁금합니다.

0

114

1

라인 끝에 에러 표시(eslint) 때문에 구글 찾아 보니.

0

84

1

전체 고양이 조회 라우터 중 error.message 오류

0

82

1

캡슐화 추가 설명 중 단일책임원칙 관련 질문

0

116

0

42강 고양이끼리 소통 댓글 구현 중 Schema hasn't been registered for model 'comments' 에러 해결

0

86

1

채팅 이슈

0

140

1

모듈이 더 이상 지원하지 않는답니다

0

216

1

오류가 있습니다

0

114

1

import 에서 오류가 납니다

0

132

1

이런 오류가 나옵니다

0

111

1

에러가 발생합니다

0

117

1

프론트 에러 뜨는데 수정 안해주시나요

0

169

1

emit() broadcast.emit() 질문있습니다

0

109

1

서버연결이 안됩니다.

1

408

1

[PM2][ERROR] Command not found

0

530

1

S3에 업로드까지는 성공했는데 사진이 나오지 않습니다.

0

256

1

error_code : Property 'user' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.ts(2339)

0

608

1

jwt를 따로 연습하고 있는데 env를 못읽는 것 같습니다.

0

331

2

Ec2로 안하시는 이유가 있을까요?

0

346

1