unique index에서 만약 값을 넣어주지 않는다면? unique인덱스를 생성 x를 일부러 입력하지 않으면 duplicate key error ! index: x_1에서 dup key: { x: null }이라고 나와있다. index는 다음과 같이 생겼을 것이고, [value:{ x:null, y:1}, pointer: address1 }] {value:{x:null, z:1}, pointer: address2}를 인덱스에 추가하려고 하니 에러가 발생했다. 만약 x값이 존재할 수도 있고 아닐 수도 있는 상황에서 x값이 존재할 때만 index를 만들 수는 없을까? 그럴 땐 partialFilterExpression 를 쓸 수 있다. x가 존재하는 document에 대해서만 index를 생성하겠다는 것이..
특정 시간이 지난 후에 알아서 DB에서 사라지게 만들고 싶다면 TTL Index를 고려해 볼만하다. What is TTL Index? TTL은 TIME TO LIVE의 약자. '살아있을 시간'이란 뜻에서 알 수 있듯이. 일정 시간이 지나면 expire 된다. TTL인덱스를 만드는 법: db.collection.createIndex({ : 1 }, { expireAfterSeconds: }) 1. eventlog라는 collection에 date객체를 가지고 있는 document를 하나 넣어두고 2. TTL인덱스 생성 3. document를 넣어주고 4. 10초 이상의 시간을 기다린 뒤 이와 같이 사라진 것을 알 수 있다. TTL의 한계: 1. '10초 이상의 시간' 나는 분명히 expireAfterSec..
- Total
- Today
- Yesterday
- 집합
- Node.js
- MongoDB
- pm2 #cluster #Javascript
- instance method
- 다중상속
- resave
- 선형리스트
- map
- 이중 연결리스트
- Iterator
- 자료구조
- index
- express-session
- virtuals
- 맵
- set
- 다형성
- saveUnitialized
- static method
- javascript
- Generator
- query helper
- mixin
- mongoose
- alias
- 자료구조 #딕셔너리 #해시
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |