양쪽 모델에 모두 belongsToMany 메서드를 사용하며, N:M 관계 특성상 새로운 모델이 생성됩니다(그림 7-59). through 속성에 그 이름을 적으면 됩니다. 새로 생성된 PostHashtag 모델에는 게시글과 해시태그의 아이디가 저장됩니다. 9장의 예제에서 N:M 관계를 사용하는 것을 볼 수 있습니다.
▲ 그림 7-60 N:M 관계 테이블
N:M에서는 데이터를 조회할 때 여러 단계를 거쳐야 합니다. #노드 해시태그를 사용한 게시물을 조회하는 경우를 생각해보겠습니다. 먼저 #노드 해시태그를 Hashtag 모델에서 조회하고, 가져온 태그의 아이디(1)를 바탕으로 PostHashtag 모델에서 hashtagId가 1인 postId들을 찾아 Post 모델에서 정보를 가져옵니다.
자동으로 만들어진 모델들도 다음과 같이 접근할 수 있습니다.
db.sequelize.models.PostHashtag
다음 절에서는 모델들을 사용해 CRUD 작업을 진행하겠습니다.