English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
고정 크기 콜렉션고정 크기의 반복 콜렉션으로, 삽입 순서를 따르며, 높은 성능의 생성, 읽기 및 삭제 작업을 지원합니다. 반복은 이를 의미하며, 콜렉션에 할당된 고정 크기가 소진되면, 명시적인 명령 없이 가장 오래된 문서를 지우기 시작합니다.
문서 크기가 증가하는 경우 문서 업데이트에 제한을 두어야 합니다. 고정 크기 콜렉션은 디스크에 저장된 순서로 문서를 저장하므로, 디스크에 할당된 크기를 초과하지 않도록 보장할 수 있습니다. 고정 크기 콜렉션은 로그 정보, 캐시 데이터 또는 다른 대량 데이터를 저장하는 데 가장 적합합니다.
제한 크기의 콜렉션을 생성하려면 일반 createCollection 명령어를 사용하지만,capped
옵션을 설정하면,true
콜렉션의 최대 크기를 바이트 단위로 지정합니다.
>db.createCollection("cappedLogCollection",{capped:true,size:10000})
콜렉션 크기 외에도 사용할 수 있습니다max
파라미터-콜렉션 내 문서 수를 제한-
>db.createCollection("cappedLogCollection",{capped:true,size:10000,max:1000)
콜렉션에 제한이 있는지 확인하려면 다음을 사용하십시오isCapped
명령-
>db.cappedLogCollection.isCapped()
계획을 통해 기존 콜렉션을 제한 크기로 변환하려면 다음 코드를 사용할 수 있습니다.-
>db.runCommand({"convertToCapped":"posts",size:10000})
이 코드는 우리가 가진 컬렉션을 변환합니다posts
캡된 컬렉션에 대해
기본적으로, 캡된 컬렉션에서의 검색 쿼리는 삽입 순서로 결과를 표시합니다. 하지만, 반대 순서로 문서를 검색하고자 한다면, 다음과 같이 사용합니다정렬
이 코드에서 표시된 명령어-
>db.cappedLogCollection.find().sort({$natural:-1)
캡된 컬렉션에 대해 몇 가지 중요한 포인트가 있습니다.-
캡된 컬렉션에서 문서를 제거할 수 없습니다.
캡된 컬렉션에는 기본 인덱스가 없습니다. _id 필드에도 없습니다.
새 문서를 삽입할 때, MongoDB는 실제로 디스크에서 새 문서를 저장할 공간을 찾지 않습니다. 새 문서를 컬렉션의 마지막에 맹목적으로 삽입할 수 있습니다. 이는 컬렉션에 대한 삽입 작업이 매우 빠르게 만들어줍니다.
또한, 문서를 읽을 때, MongoDB는 디스크에서와 같은 순서로 문서를 반환합니다. 이는 읽기 작업이 매우 빠르게 만들어줍니다.