inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

다대다 관계에서 productTags의 타입에 관한 질문입니다

해결된 질문

370

nya

작성한 질문수 15

0

안녕하세요. 항상 알기쉽게 설명해주셔서 많은 도움이되고 있습니다. (myERD프로젝트하는데 거의 일주일 걸린것 같습니다 ㅎㅎ)

섹션29 10-8 다대다 api설계에서 productTags에 대한 질문드립니다.

아래와 같이 tags을 productTags에 넣어서 리턴을 해주는 상황입니다.

그런데 여기서 ...prevTags와 ...newTags.identifiers의 타입이 서로 다른것 같아서 다음과같이 콘솔로 찍어 보았습니다. 배열요소의 3번째까지가 ...prevTags에 담긴 값인데 저렇게 리턴하면 타입관련에러나 DB에 저장이나 서로 연결이 안될줄 알았는데 강의와 같이 잘 작동하였습니다.

그래서 아래와 같이 productTags의 타입인 ProductTag[]도 확인해보았는데도 잘 이해가 안갑니다

제생각에는 prevTags에서 id만 뽑아낸 객체배열을 새로 정의한 다음에 스프레드시켜서 넣어주어야 할것같은데, 해보니 둘 다 결과는 같네요... 제가 어떤 걸 놓치고 있는 걸까요?

사족 : 그런데 이 문제를 생각하는 도중에 힌트를 얻어서 update에서 에러나는 숙제를 해결했습니다^^

 

javascript node.js express docker tdd rest-api nestjs

답변 1

0

노원두

안녕하세요! nya님!

먼저, update 과제를 해결하셨다니! 축하드려요! ㅎㅎ 해당 과제를 통해서 타입스크립트가 필요한 이유스스로 할 수 있다는 자신감을 얻으셨을 것 같아요!^^

질문하신 내용에서 해당 배열안의 객체에 어떤건 id만 있고 어떤건 id, name 등 여러개 있는데, 다시말해 데이터 구조가 다른데 왜 잘 작동하는가에 대한 질문이신 것 같아여!

사실 해당 구문을 통해서 mysql에 저장되는건 id밖에 없답니다! 안에 name이 있어도 mysql에는 name이 저장되지 않아요! 그게 우리가 위에서 태그만 따로 1번 저장하고, 아래에서 상품을 다시 저장했던 이유랍니다!

다시말하면, id만 있으면 되겠죠?!

그러면 name이 있고 없고의 차이는 어디서 발생하냐면 해당 데이터 객체를 브라우저에 return문으로 돌려줄때 브라우저에서 name도 받을 수 있을지, id만 받을 수 있을지에는 차이가 있습니다!^^

그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?

0

84

2

강의 전체 소스 코드를 받고싶습니다.

0

76

2

fontawesome 사용 문의

0

79

2

소스 코드 부탁드립니다~

0

85

2

깃 레포지터리 소스

0

87

2

커리큘럼12.css 정렬 에 나오는 과제 정답알고싶어요

0

74

2

10-01 Entity TypeOrmModule.forRoot 에 entities

0

89

3

강의 버전관련 문의입니다

0

104

2

Ubuntu 설치 관련

0

62

1

schema.gql 질문 드립니다.

0

51

1

서버 재실행시 Many to Many

0

102

3

input 관련 문의

0

90

2

Rest API 보다는 graphql이 주된 내용인데

0

131

2

강의 전체 소스코드 받을수있을까요?

0

156

1

도커볼륨 마운트 관련

0

127

2

findOne 타입스크립트오류

0

109

1

http => htrtps 호출 인증서 신뢰 오류

0

354

1

self-signed certificate in certificate chain 에러 발생

0

418

1

mongoose 설치 오류

0

142

1

특정 API, 특정 IP 허용 (단일경로에 CORS 활성화)

0

283

2

08-06

0

180

3

구조랑 패턴 관련해서 질문

0

126

2

mydocker

0

129

2

coolsms statuscode 2000 인데 전송안돼는 경우 확인.

0

156

1