Node.js

(6)게시물마다 번호달아보기

이지영 2022. 6. 4. 16:34

MongoDB에 데이터를 저장할 땐 _id라는 값을 꼭 넣으셔야합니다

.그래야 삭제도 쉽고 나중에 수정도 쉬우니까요.

안넣으면 MongoDB에서 알아서 ObjectId() 이런걸 만들어서 아이디를 강제로 부여해줍니다. 

 

고유한 _id르 부여해줄건데 

 

1.지금까지 몇번 게시물을 발행했는지 기록해야함

 mongodb atlas 홈페이지 들어가서 대시보드에서 collection을 하나 더 만들도록 합시다. 

 

좌측에  todoapp이라는 데이터베이스에 + 버튼을 누르시면 collection(파일)을 하나 더 생성 가능합니다. 

counter라는 이름을 가진 collection을 생성합시다. 

 

 

 

 

방금 새로만든 counter라는 콜렉션에 데이터를 하나 강제로 집어넣어봅시다. 

 

우측에 보면 Insert Document 흰버튼을 누르시면 강제로 항목을 하나 추가 가능합니다. 

그리고 이렇게 그대로 작성한 후 Insert 버튼을 누르면 되겠습니다. 

(totalPost 라는 항목은 Int32로 셋팅하는거 잊지마세요)

 

이곳은 바로 지금까지 몇번 게시물을 발행했는지를 기록할 공간입니다. 

totalPost라는 곳에 저장할 것입니다. 

지금은 아무 게시물도 발행되지 않았다고 생각하고 초기값은 0이라고 합시다. 

 

2. POST 요청 처리하는 코드를 수정

 

1.누군가 폼에서 /add로 POST 요청하면 요청.body에 게시물 데이터 담겨옴

2.DB에 counter안에 name이 '게시물갯수'인 데이터를 찾아서 

totalPost라는 값을 총게시물 갯수에 저장한다 (초기값은 0으로 설정해놨음)

 

3.db의post 에 _id는 0+1을 해주고 제목과날짜를 저장해주고

4.counter라는 컬렉션에 있는 name이 '게시물 갯수'인것을 찾아서 +1 해주겠다