• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

React Nodebird때 만들었던 Follow기능(=many to many)질문 입니다 (Sequelize vs Typeorm)

21.08.01 21:53 작성 조회수 324

0

안녕하세요? 제로초님

노드버드 강의를 완강하고, 어느새 sleact 강좌도 마무리 시점이 와가네요. 항상 감사합니다

이번 typeorm관계설정 강의를 듣다가 궁금한점이 생겼는데 도저히 해결이 되지않아 이렇게 질문을 드립니다.

노드버드 강좌에서 팔로워/팔로이 기능을 model에서 정의할때 Sequelize로 아래와 같이 belongsToMany에 as 와 through를 이용해서 설정했었는데요,

    // 관계 설정 
    User.associate = (db) => {
      ...
      db.User.belongsToMany(db.User, { through: 'Follow', as: 'Followers', foreignKey: 'followingId' }); 
      db.User.belongsToMany(db.User, { through: 'Follow', as: 'Followings', foreignKey: 'followerId' }); // 같은 테이블에서 다대다 관계일때는 foreignKey넣어주어야 됨
                                                                                                          // WHY? : 자바스크립트 객체에서 구별하는 이름이 as이고, DB에서는 foreignKey를 이용해 구별한다.
    };

Typeorm에서 이와같이 user대user 관계에서 팔로우 기능을 구현해보려고 스스로 학습중인데, 검색해도 나오지를 않고 어떻게 해야할지 감이 안잡히네요...

  • Typeorm에는 Sequelize처럼 이렇게 편리한 기능이 없는것인거겠죠? ㅠ
  • 만약 Typeorm에서 제공하는 as 나 Through기능이 없다면, Typeorm에서는 노드버드에서와 같은 팔로워/팔로이 기능을 어떻게 구현해야할지 궁금합니다!  

답변 1

답변을 작성해보세요.

0

typeorm에서는 ManyToMany로 User Entity에 관계 설정을 하셔야 합니다. 강좌에서 ManyToMany 부분 언급을 했을텐데요?