db.createCollection("test")
https://docs.mongodb.com/manual/core/capped-collections/
캡드 컬렉션은 높은 성능의 로깅 기능을 위해 설계 되었다. 일반 컬렉션과 달리 고정된 크기를 갖는다. 삽입 순서에 따라 문서를 삽입한다. 삽입된 순서를 보장하기 때문에 삽입된 순서를 위한 인덱스가 필요하지 않으며, 인덱싱 오버헤드를 줄임으로써 더 높은 insert 처리량을 지원할 수 있다.
고정된 크기이며 마치 순환 버퍼와 유사한 방식으로 작동한다. 고정 크기를 모두 다 채우면 가장 오래된 도큐먼트들을 덮어 쓰면서 삽입된다.
Replica Set에서 oplog를 담는 컬렉션(oplog.rs)도 캡드 컬렉션을 사용한다.
# 캡드 컬렉션 생성 (미리 고정된 size-바이트단위-를 제공해야함)
db.createCollection( "log", { capped: true, size: 100000 } )
https://docs.mongodb.com/manual/core/index-ttl/
TTL 인덱스는 특정 시간이 지난 후 도큐먼트를 자동으로 지우는 데 사용되는 인덱스다. 특정 시간이 지난 데이터를 지우려고 하는 경우 유용하게 사용할 수 있다.
db.eventlog.createIndex( { "lastModifiedDate": 1 }, { expireAfterSeconds: 3600 } )
mongod의 백그라운드 스레드에서 이 인덱스를 사용하여 expire된 문서들을 제거한다.
당연하겠지만, TTL Index는 복합키 인덱스를 지정할 수 없다.