Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- async
- meatadata
- generic
- react
- 페이지네이션
- set
- Spring
- extends
- app:compiledebugkotlin
- interface
- app.post
- map
- TS
- 글또10기
- 리액트네이티브아이콘
- 슬라이딩윈도우
- 상속
- reactnative
- 타입스크립트
- supabase 페이지네이션
- mainapplication.kt
- materialicons
- 이진탐색
- Filter
- array
- 배열중복요소제거
- Next.js
- 스크롤이벤트
- 안드로이드빌드에러
- javascript
Archives
- Today
- Total
rhanziy
mongoDB에 id값 auto increase 구현 본문
/write페이지에서 할일을 등록했을 때 만들어진 post 컬렉션의 id 값은 자동 어지러운? 값으로 부여가 됐었다.
글 관리를 쉽게하기 위해 등록 시 id 값을 게시물 갯수 + 1로 설정해주자.
일단! todoapp데이터베이스에서 총 게시물 갯수를 담을 새로운 컬렉션을 생성해야함.
게시물 갯수를 셀 totalPost와 접근할 이름~ 여기서 totalPost 값은 int형으로 자료형을 지정해줘야한다.
아래서 구현할 제한자 increase 는 셀 수 있는 값만 들어가기때문.
이제 server.js에서 천천히.. add.post에 추가해주자...
1. 누가 폼에서 /add로 POST 요청을하면
2. counter 콜렉션 안에서 이름이 '게시물 갯수' 인 데이터를 찾아와서
3. 총게시물 갯수라는 변수에 totalPost 값을 넣어주고
4. post콜렉션에 입력폼 값을 추가할 때 마다 _id 값을 totalPost + 1로 지정한다.
5. 그럼 게시물이 추가될 때마다 counter 컬렉션 안의 totalPost 값도 더해줘야하는데!
6. $inc < increase 제한자를 사용해 { totalPost : 1 } 를 1 씩 증가시키기는 코드
//server.js
app.post('/add', function(req, res){
db.collection('counter').findOne({name : '게시물 갯수'}, function(error, result){
var 총게시물갯수 = result.totalPost;
db.collection('post').insertOne({ _id : 총게시물갯수 + 1, title : req.body.title, date : req.body.date }, function(error, result){
if(error) console.log(error);
// counter라는 콜렉션에 있는 totalPost라는 항목도 1 증가시켜야함 << int타입으로 설정
// db.collection('counter').updateOne({ 어떤데이터를 수정할지 } { 수정 값 }, function(){})
// { $set : { totalPost : 바꿀값 } }, { $inc : { totalPost : 기존값에 더해줄 값 } }
db.collection('counter').updateOne({name: '게시물 갯수'}, { $inc : { totalPost:1 } }, function(error, result){
if(error) console.log(error);
res.send('전송완료');
});
});
});
});
'Node.js' 카테고리의 다른 글
node.js - detail 상세페이지(params.id) (0) | 2023.03.20 |
---|---|
node.js - ajax 삭제요청 (0) | 2023.03.20 |
node.js - app.post 구현하고 ejs라이브러리 설치 (2) | 2023.01.15 |
MongoDB Atlas 가입, 설치, node.js와 연결 (0) | 2023.01.13 |
node.js로 만든 서버에서 post처리, body-parser (0) | 2023.01.13 |
Comments