Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

convertToCapped (영문)

이 페이지의 내용

  • 호환성
  • 구문
  • 예시
convertToCapped

경고

샤드 컬렉션에서는 이 명령을 실행하지 않음

MongoDB는 샤드 컬렉션에서 명령을convertToCapped 지원하지 않습니다 .

convertToCapped 명령은 동일한 데이터베이스 내에서 고정 사이즈가 아닌 기존 고정 사이즈 컬렉션 을 고정 사이즈 컬렉션 으로 변환합니다.

이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

중요

이 명령은 서버리스 인스턴스에서는 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.

명령은 다음과 같은 구문을 가집니다:

{ convertToCapped: <collection>,
size: <capped size>,
writeConcern: <document>,
comment: <any>
}

이 명령은 다음 필드를 사용합니다.

필드
설명
convertToCapped (영문)
변환할 기존 컬렉션의 이름입니다.
size
고정 사이즈 컬렉션의 최대 크기(단위: 바이트)입니다.
쓰기 고려
선택 사항. 명령의 쓰기 고려 drop (write concern) 를 Express하는 문서입니다. 기본 쓰기 고려 (write concern)를 사용하려면 생략합니다.
comment

선택 사항. 이 명령에 첨부할 사용자 제공 코멘트입니다. 설정되면 이 설명은 다음 위치에서 이 명령의 레코드와 함께 표시됩니다.

댓글은 유효한 모든 BSON types (문자열, 정수, 객체, 배열 등)이 될 수 있습니다.

convertToCapped 는 기존 컬렉션 (<collection>)을 가져와서 size 인수(<capped size>)로 지정된 최대 크기(바이트)를 가진 고정 사이즈 고정 사이즈 컬렉션 으로 변환합니다.

변환 프로세스 중에 convertToCapped 명령은 다음과 같은 동작을 나타냅니다.

  • MongoDB 는 다음 위치에서 원본 컬렉션 의 문서를 탐색합니다.
    기본 순서 로 변환하고 문서를 새 고정 고정 사이즈 컬렉션 에 로드합니다.
  • 고정 사이즈 컬렉션 에 대해 지정된 capped size 인 경우
    원본 비고정 사이즈 컬렉션 의 크기보다 작은 경우 MongoDB 는 삽입 순서 또는 선입 선출 순서에 따라 고정 사이즈 고정 사이즈 컬렉션 의 문서를 덮어씁니다.
  • 내부적으로 컬렉션 을 변환하기 위해 MongoDB 는 다음을 사용합니다.

    절차

    • cloneCollectionAsCapped 명령은 대문자를 생성합니다.
      데이터를 컬렉션 하고 가져옵니다.
    • MongoDB는 원본 collection을 삭제합니다.

    • renameCollection 새 고정 사이즈 컬렉션 의 이름을 변경합니다.
      를 원본 컬렉션 의 이름으로 변경합니다.
  • 이는 작업 기간 동안 데이터베이스 배타 락을 보유합니다. 동일한 데이터베이스에 잠금을 적용한 다른 작업은 해당 작업이 완료될 때까지 차단됩니다. 데이터베이스에 잠금을 적용하는 작업에 관한 내용은 일반적인 클라이언트 작업에서 어떤 잠금을 사용하나요?를 확인하세요.

경고

convertToCapped_id 필드에 있는 인덱스를 제외한 원래 컬렉션의 인덱스를 새 컬렉션에 다시 만들지 않습니다. 이 컬렉션에 인덱스가 필요한 경우 변환이 완료된 후에 이러한 인덱스를 만들어야 합니다.

다음 예제에서는 db.collection.insertOne() 를 사용하여 events collection을 만들고 db.collection.stats() 를 사용하여 collection에 대한 정보를 얻습니다.

db.events.insertOne( { click: 'button-1', time: new Date() } )
db.events.stats()

MongoDB는 다음을 반환합니다:

{
"ns" : "test.events",
...
"capped" : false,
...
}

events collection을 고정 사이즈 컬렉션으로 변환하고 업데이트된 collection 정보를 보려면 다음 명령을 실행합니다.

db.runCommand( { convertToCapped: 'events', size: 8192 } )
db.events.stats()

MongoDB는 다음을 반환합니다:

{
"ns" : "test.events",
...
"capped" : true,
"max" : NumberLong("9223372036854775807"),
"maxSize" : 8192,
...
}

convertToCapped_id 필드에 있는 인덱스를 제외한 원래 컬렉션의 인덱스를 새 컬렉션에 다시 만들지 않습니다. 이 컬렉션에 인덱스가 필요한 경우 변환이 완료된 후에 이러한 인덱스를 만들어야 합니다.

다음도 참조하세요.

돌아가기

컴팩트

이 페이지의 내용