inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

10-08 N:M 등록 / 조회 API

강의10-8 관련 질문입니다.

해결된 질문

355

작성자 없음

작성한 질문수 0

0

products.service.ts

// 2-2) 상품태그 등록
const tagNames = productTags.map((el) => el.replace('#', '')); 

const prevTags = await this.productsTagsService.findByNames({ tagNames });

const temp = [];
tagNames.forEach((el) => {
  const isExists = prevTags.find((prevEl) => el === prevEl.name);
  if (!isExists) temp.push({ name: el });
});


const newTags = await this.productsTagsService.bulkInsert({ names: temp });

const tags = [...prevTags, ...newTags.identifiers];

 

productsTags.service.ts

const newTags = await this.productsTagsService.bulkInsert({ names: temp });

const tags = [...prevTags, ...newTags.identifiers];

 

 

products.service.ts 에서

const tags = [...prevTags, ...newTags.identifiers];

의 결과로 주석으로 {id: "전자제품ID", {id: "컴퓨터ID}, {id: "영등포ID"}}

이렇게 적어주셨는데

 

...newTags.identifiers

는 결과가 저렇게 id로 들어가는게 이해되는데

 

...prevTags

는 왜 id로 들어가는지 이해가 잘 안됩니다..

prevTags는 키가 id랑 name 두개 있는 객체인데 왜 저렇게 들어가는걸까요 ?? spread 연산자를 사용해서일까요

 

주석의 예시대로라면

{id: "전자제품ID", name: "전자제품"}, {id: "컴퓨터ID"}, {id: "영등포ID"}}

이런식으로 들어가야 하는거 아닌가요??

감사합니다

javascript node.js express docker tdd rest-api nestjs

답변 2

1

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

이해하신 대로, prevTags{ id: "전자제품ID", name: "전자제품" }와 같이 idname 두 개의 속성을 가지고 있는 객체들의 배열이 맞아요.

이 코드에서 ...prevTagsprevTags 배열의 요소들을 하나씩 펼쳐서 새로운 배열에 담는 역할을 해요.

그래서 tags 배열은 prevTags 배열의 요소들을 그대로 포함하게 되는거예요.

만약 prevTags 배열의 요소들이 { id: "전자제품ID", name: "전자제품" }, { id: "컴퓨터ID", name: "컴퓨터" }, { id: "영등포ID", name: "영등포" }였다면, tags 배열은 { id: "전자제품ID", name: "전자제품" }, { id: "컴퓨터ID", name: "컴퓨터" }, { id: "영등포ID", name: "영등포" }로 구성될 것이에요.

이해가 되셨을까요? 추가로 궁금한 게 있다면 언제든지 물어보세요. 감사합니다.

0

노원두

안녕하세요! rjs2517님!

질문하신 부분이 맞아요!
수업에서 충분히 헷갈리실 만한 부분인 것 같아요!
수업에서의 의도는, prevTags, newTags.identifiers 모두 [{id: "아이디"}, ...] 와같이 id값을 포함하고 있다는 의도였어요!
그래야 해당 id를 바탕으로 두 테이블간에 연결이 될 것이니까요!

name 부분을 생략함으로써 혼동이 왔던 것 같아요!
rjs2517님께서 정확히 이해하고 계십니다!^^

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

0

84

2

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

0

76

2

fontawesome 사용 문의

0

79

2

소스 코드 부탁드립니다~

0

85

2

깃 레포지터리 소스

0

86

2

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

0

74

2

10-01 Entity TypeOrmModule.forRoot 에 entities

0

88

3

강의 버전관련 문의입니다

0

103

2

Ubuntu 설치 관련

0

61

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

353

1

self-signed certificate in certificate chain 에러 발생

0

417

1

mongoose 설치 오류

0

142

1

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

0

283

2

08-06

0

180

3

구조랑 패턴 관련해서 질문

0

125

2

mydocker

0

128

2

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

0

156

1