inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

React로 NodeBird SNS 만들기

5-16. 게시글 작성과 데이터 관계 연결하기

질문 드립니다!

163

Jun Mr.

작성한 질문수 12

0

게시글 작성시 코드가 아래와 같은데요.

1. const newPost = await db.Post.create({ ~~~ // 게시글 등록

2.const result = await Promise.all(hashtags.map(tag => db.Hashtag.findOrCreate({ ~~ 해쉬태그 등록

3. await newPost.addHashtags(result.map(r => r[0])); // 조인 테이블 등록

인데요. 

그렇다면 이 항목들에 대해서 트랜잭션을 사용하려면 어떻게 사용해야 하나요..?

1,2 번에 경우, 

db.sequelize.transaction(async t => {
~~
~~
~~
1번
2번

이렇게 넣어주고, 추가로 transaction: t

를 넣어주면 될 것 같은데

3번 Associations로 부터 생기는 add 함수에 transaction 을 

넣어줄 수가 있나요..?

공식 홈페이지 에서는 쉽게 찾을 수가 없는 것 같아서요..ㅠ

3번을 바깥으로 빼자니.. 트랜잭션을 사용하는 의도가 살짝 빗나가면서도, 3번이  newPost, result 얘녜들을 사용해야해서 지저분한 방법을 사용해야 할 것 같고,,

어떻게 트랜잭션을 사용하시나요..?

위에서 const newPost = 게시글 등록, const result = 해쉬태그 등록

이부분들을 트랜잭션 감싼 부분 위에서 var newPost = null; var result = null; 로 하여 

newPost = 게시글 등록, result = 해쉬태그 등록 후에 트랜잭션 작업이 모두 처리된 후, 3번 처리하는 것이 올바른 방법일까요~~?

react javascript

답변 2

1

제로초(조현영)

addHashtags(값들, { transaction: t }) 식으로 넣어주시면 됩니다.

저라면 1 3번만 트랜잭션으로 묶겠습니다. 2번은 이미 자체적으로 트랜잭션이 적용되어있습니다.

0

Jun Mr.

답변 너무 감사드립니다.

next 10 이상에서는 redux dev tool 구동이 안되나요?

0

272

1

세션 갱신 문의 건

0

484

7

배포 진행 후 Highlight updates components render 표시

0

445

1

똑같은 기능을 하는 테이블

0

448

4

관계형

0

312

2

프론트 서버를 이용하지 않는경우

1

299

3

인피니트 스크롤링 사용시 오류

0

278

0

계속 이런에러가 떠서 해결하기는 했는데 어떤 의미인지 모르겠습니다.

0

434

2

req.user가 언제 생성되나요??

0

330

2

Cannot read property 'id' of null 에러

0

333

1

리트윗한 게시글 불러오는 sequelize

0

252

1

result.data에서 images인 이유

0

281

2

takeLatest에 대한 질문입니다.

1

342

2

프론트에서 express를 사용하지 않을때 동적라우팅

0

501

6

getInitialProps가 클라이언트에서 수행되는 이유?

0

258

1

리로드하면 팔로우 언팔로우 값이 초기화 되는 문제입니다.

0

445

2

스타일드 컴포넌트와 className을 통한 스타일 적용의 차이에 대해 궁금합니다

0

585

2

할인 쿠폰 사용이 안되는되요 (848-f9af83f183e3)

0

365

1

nodejs mvc 패턴

0

976

4

사용하고 보니, 람다 구성이 궁금합니다!

0

266

1

제로초님

0

445

1

새로고침 로그인 풀림 문제.

0

247

1

안녕하세요. 강의 너무 감사합니다

0

157

1

제로초님

0

170

1