반응형
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
- vue draggable 차트 안나옴
- repaint
- commonjs와 ecmascript modules(esm)
- pm2 버전 충돌
- reflow
- 인터넷 거버넌스
- img 태그 sizes
- pm2 업데이트 에러
- 웹 퍼포먼스 도구
- in-memory pm2 is out-of-date
- component is already mounted please use $fetch instead.
- git
- img 태그 srcset
- vuedraggable
- $fetch
- 헌혈유공패 은장
- cloud firestore id auto increment
- 이미지 성능 최적화
- firebase id 자동
- d3 지도 타입스크립트
- Learning React
- 함수형 프로그래밍
- d3 지도 확대/축소
- vue3 drag and drop
- ToDo
- d3 지도 툴팁
- vue 컴포저블 함수
- d3 지도
- nuxt universal rendering
- vue composable 함수
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 |
|---|