inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

관계 쿼리를 정확히 알고싶습니다.

172

wdhgood123

작성한 질문수 13

0

 
const user = await User.findOne({});
const comments = await user.getComments();
console.log(comments);

책에 나와있는 예제입니다.

여기서 user.getComments();  이부분에서

getComments() 이게 조회하는 메서드라는 것은 이해했습니다.

User과 관계를 맺은 모델인 Comment모델에서 조회하는 것이겠지요.

문제는 그 앞에있는 user. 이 무슨 역할인지 모르겠습니다.

const user = await User.findOne({}); 조건에 맞는 객체를 조회했다는 것은 이해했지만

그것과 getComments() 가 무슨 상관관계가 있는것인가요?

또 그외의         

await post.addHashatgs(result.map(r => r[0]));

이 코드는 9장 노드버드의 게시글 업로드 라우터의 일부분입니다

이 코드에선 add메서드를 사용했는데

result.map(r => r[0]) 를 Hashtag모델에 추가하는 것은 알겠지만

MySQL로 hashtags 테이블을 조회해보면 

해당 데이터가 없습니다.

이 데이터는

 return Hashtag.findOrCreate({
where: { title: tag.slice(1).toLowerCase() },
})

여기서 생성되었습니다.

혹시 Post와 Hashtag가 다대다 관계이니 중간테이블에 저장했나 싶어 posthashtag를 조회해봐도

해당 데이터가 없습니다.

그렇다면 add, remove, set메서드를 사용했을 때 데이터는 어디에 저장되는 것인가요?

 

시퀄라이저 공식문서도 훝어봤지만 제가 원하는 정보가 안나와서 질문합니다.

 

mysql nodejs mongodb Sequelize

답변 1

0

제로초(조현영)

user.getComments에서 user는 방금 조회한 사용자죠. 사용자의 댓글들을 가져와라라는 뜻입니다. 앞에 user.이 없으면 누구의 댓글을 가져오나요?

posthashtag 테이블에 태그 정보들이 들어있는 겁니다. postId랑 hashtagId가 연결되어 있잖아요.

0

wdhgood123

태그 정보가 외래키안에 들어있는 것인가요?

await post.addHashatgs(result.map(r => r[0]));

이 문장이 posthashtag모델의 조건에 맞는 post의 hashtagId안에 해당 데이터가 추가된다고 이해해도 되나요?

 

 

또한 관계메서드는 as를 쓰지 않으면 모델 명을 쓰는데 그렇다면 post.addposthashtag가 되어야 하는 것이 아닌가요?

0

제로초(조현영)

중간 테이블에 postId와 hastagId가 저장되는 겁니다. n:m 관계라서 바로 addHashtag라고 하면 됩니다. 중간 테이블로 접근할 필요 없습니다.

0

제로초(조현영)

n:m 관계는 주종관계나 선후관계가 없습니다. 둘이 평등하게 중간 테이블에서 연결됩니다.

리눅스 노드 설치시 패키지

0

172

0

socket.js 에서 referer로부터 roomId를 가져올 때

0

932

3

스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문

0

2297

2

a[title] 질문드립니다

0

388

1

리뉴얼 강의 및 공부 방법

0

590

1

jwt decode

0

1138

1

node.js 교과서 3판 질문드립니다

0

398

1

passport와 jwt

0

439

1

리뉴얼 강의

0

428

2

혹시 Node.js 교과서 3판 이북은 언제 나오나요?

0

359

1

몽고디비 사용자도 MYSQL부분을 들어야 하나요???

0

491

1

sql 쿼리 로그는 어떤 모듈이 작성하나요?

0

512

2

nunjucks res.render('error'); 작동을 안합니다.

0

520

1

질문있습니다.

0

349

1

multer 한글 파일 업로드시 파일명이 깨져요.

1

3545

1

수업자료는 어디있나요?

0

374

1

질문 있습니디

0

245

1

multer 사용시 file 외 name값은 못받나용?

0

431

1

코드 중복 부분 질문드립니다.

0

303

1

api 만드는 이유 질문드립니다.

0

293

1

Strategy의 done에 대해 질문드립니다.

0

374

1

안녕하세요 fs 권한 관련 질문드립니다

0

456

1

시퀄라이즈 연결질문...

0

511

2

res.setHeader vs res.cookie

0

1799

3