반응형
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
- $fetch
- 화살표 함수 중괄호
- 인터넷 거버넌스
- vuedraggable
- reflow
- pm2 업데이트 에러
- nuxt universal rendering
- 화살표 함수 {}
- vue draggable 차트 안나옴
- git
- Learning React
- firebase id 자동
- commonjs와 ecmascript modules(esm)
- vue 컴포저블 함수
- vue3 drag and drop
- repaint
- 함수형 프로그래밍
- d3 지도 확대/축소
- 참조형 default
- d3 지도
- 참조형 props의 default
- ToDo
- ecmascript modules(esm)
- d3 지도 타입스크립트
- vue composable 함수
- cloud firestore id auto increment
- in-memory pm2 is out-of-date
- d3 지도 툴팁
- component is already mounted please use $fetch instead.
- pm2 버전 충돌
Archives
- Today
- Total
빵 입니다.
MongoDB AUTO_INCREMENT 사용하기 본문
반응형
Mysql을 쓸 땐,
자동으로 컬럼의 숫자 값 증가하게 하기 위해 auto_increment 를 유용하게 사용했다.
CREATE TABLE users ( id INT NOT NULL AUTO_INCREMENT, name CHAR(30) NOT NULL, PRIMARY KEY (id) );
MongoDB에는 같은 기능이 없다.
그래서 함수를 만들어 따로 구현해주어야 한다.
...더보기
MongoDB에서 auto-increment를 제공하지 않는 이유 같은 이유
MongoDB에서 _id 필드나 다른 어떤 필드를 위한 auto-increment 패턴을 사용할 필요가 없다.
auto-increment 패턴을 사용하면 데이터베이스에 많은 documents가 있을 경우 확장성이 떨어진다.
기본값인 ObjectId 가 _id로 사용하기에 더 이상적이다.
※ 요약
마지막으로 사용된 번호를 추적하기 위해 분리된 컬렉션을 이용한다.
'_id' 필드는 시퀀스 이름을 포함하고, seq 필드는 시퀀스의 마지막 값을 포함한다.
Step 1. counters 컬렉션을 만들고 초기값으로 userid를 할당한다.
db.counters.insert( { _id: "userid", seq: 0 } )
Step 2. 시퀀스의 이름을 받는 getNextSequence 함수를 만든다.
함수는 자동으로 seq 값을 증가시키고, 새 값을 반환하기 위해 findAndModify() 메서드를 사용한다.
function getNextSequence(name) { var ret = db.counters.findAndModify( { query: { _id: name }, update: { $inc: { seq: 1 } }, new: true } ); return ret.seq; }
Step 3. 위 두가지를 실행했다면, 앞으로 insert()를 할때 getNextSequence() 함수를 사용한다.
db.users.insert( { _id: getNextSequence("userid"), name: "Sarah C." } ) db.users.insert( { _id: getNextSequence("userid"), name: "Bob D." } )
※ 참고 사이트
https://docs.mongodb.com/v3.0/tutorial/create-an-auto-incrementing-field/
반응형
'스타디 > 데이터베이스' 카테고리의 다른 글
MongoDB 4.0 설치하기 (0) | 2019.04.03 |
---|