티스토리 뷰

반응형

아.. 정말 이것때문에 애 먹었던 것 같다.

현재 만드는 포트폴리오 중 동영상 스트리밍 홈페이지 '나튜브'를 만들고 있는데

영상을 클릭할 때마다 조회수를 증가시킬 수 있도록 하려고 하는데 update문을 사용해봤다.

 

models.videoUploads
    .update(
      {
        view: (여길 어떻게 해야하나...),
      },
      {
        where: {
          id,
        },
      }
    )
    .then((result) => {
      res.send({ result: true });
    })
    .catch((err) => {
      console.error(err);
      res.status(500).send("업데이트에 문제가 생겼습니다.");
    });

 

view의 값을 가져와서 +1 을 해줘야 하나.. 별 생각을 많이하고 별 코드를 다 짜봤지만, 에러만 생겼다.

 

역시 구글링을 해봐야하나? "node.js sequelize sqlite add update", "node.js sequelize sqlite plus update" 등등 더하기 관련 된 검색어를 다 써봤지만, 그냥 알고 있는 update 관련 된 내용뿐...

 

그래서 결국 sequelize api 문서를 살펴봤다.. 하나하나 살펴봤다

그렇게 찾은 것이, increment 함수가 따로 있었다. 이 것이 바로 값을 증가시킬수 있는 마법의 함수였다.

 

models.videoUploads
    .increment({ view: 1 }, { where: { id } })
    .then((result) => {
      res.send({ result: true });
    })
    .catch((err) => {
      console.error(err);
    });

 

이렇게 사용하면, 해당 서버 url에 연결되면 id가 일치한 모델에 있는 view라는 값을 1씩 증가시킨다. 라는 뜻이다.

 

다들 이 글 보고 삽질 안하셨으면 하는 바램에 글을 적어봅니다.

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함