인프런 커뮤니티 질문&답변

dhj100님의 프로필 이미지
dhj100

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

Many to Many Relationship 구현해보기

many to many relations update를 할 경우 질문 드립니다.

해결된 질문

작성

·

428

1

안녕하세요. 강의 정말 잘 듣고 있습니다.

먼저 좋은 강의 감사드립니다.

강의를 듣고 복습을 하던 중에, 기존 tag가 relation된 post를 찾아서 새로운 tag를 추가하는 API는 어떤 식으로 짜야 하는지 궁금해서 질문 드립니다.

 

 

답변 2

0

dhj100님의 프로필 이미지
dhj100
질문자

감사합니다. 참고해서 작성해보겠습니다!

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

Post에 Relation을 추가하는법 말씀하시는걸까요?

아래 링크와 같은 코드 말씀이신지 확인 부탁드립니다.

https://typeorm.io/many-to-many-relations#saving-many-to-many-relations

감사합니다!

dhj100님의 프로필 이미지
dhj100
질문자

아 현재 post와 tag, 두 DB 간 many to many 관계를 부여한 상태인데요.

다음과 같은 상황에서 어떻게 update하는 코드를 짜야하는지 질문 드렸습니다.

 

  1. 현재 저장되어있는 post db 일부 json 형태
    {
    id : 1,
    name : "post 1",
    tags : [ "tag1" , "tag2"]


    }

    2. 위 id 1번 post 데이터의 tags를 update하는 API를 작성하고자 합니다.
    제가 구현하려고하는 updateAPI는 id , 추가하고자하는 tag의 정보를 input으로 받으려고 합니다. 예를 들어 id는 1, tag 정보는 tag 3을 받은 경우 아래와 같이 post가 수정되었으면 합니다.


    3. update한 후의 post 형태
    {
    id : 1,
    name : "post 1",
    tags : [ "tag1" , "tag2", "tag3"]


    }

    감사합니다.

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

보여드린 코드대로 태그들을 불러온 다음 태그를 추가해도 상관 없습니다.

또는 Many to Many 관계 테이블을 객체화해서 해당 테이블을 자유롭게 사용하셔도 됩니다.

post <-> post_to_tag <-> tag

이렇게 테이블이 있다고 가정 했을때 post_to_tag 테이블도 typeorm으로 ORM화 할 수 있습니다. 그렇다면 ORM만 사용해도 원하는대로 relation 생성, 수정, 삭제가 가능합니다.

마지막으로 raw query 옵션은 항상 열려있습니다. ORM이라고해서 불가피한 상황에 raw query를 사용하는게 잘못된게 아닙니다.

감사합니다!

dhj100님의 프로필 이미지
dhj100

작성한 질문수

질문하기