AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

db. 컬렉션.validate() (mongosh 메서드)

드라이버가 포함된 MongoDB

이 페이지에서는 mongosh 메서드를 설명합니다. MongoDB 운전자 에서 이에 상응하는 메서드를 보려면 사용 중인 프로그래밍 언어 의 해당 페이지를 참조하세요.

버전 6.2에서 변경되었습니다.

db.collection.validate(<documents>)

컬렉션의 유효성을 검사합니다. 이 메서드는 정확성을 위해 컬렉션 데이터와 인덱스를 검색하고 결과를 반환합니다. 출력에 대한 자세한 내용은 출력 유효성 검사를 참조하세요.

버전 5.0 db.collection.validate()부터 메서드는 컬렉션 의 불일치를 수정할 수도 있습니다.

인덱스 불일치에는 다음이 포함됩니다.

  • 인덱스는 멀티키이지만 멀티키 필드는 없습니다.

  • 인덱스에는 멀티키가 아닌 필드를 포함하는 MultiKeyPath가 있습니다.

  • 인덱스에는 MultiKeyPath가 없지만 멀티키 문서가 있습니다. (3.4 이전에 빌드된 인덱스의 경우)

명령으로 불일치가 감지되면 경고가 반환되고 인덱스 의 복구 플래그가(으)로 db.collection.validate() true 설정하다 됩니다.

는 컬렉션의 스키마 db.collection.validate()유효성 검사 규칙을 위반하는 모든 문서의 유효성도 검사합니다.

db.collection.validate() 메서드는 validate 명령을 감싸는 래퍼입니다.

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

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

참고

이 명령은 모든 MongoDB Atlas 클러스터에서 지원됩니다. 모든 명령에 대한 Atlas 지원에 관해 자세히 알아보려면 지원되지 않는 명령을 참조하세요.

메서드의 구문은 다음과 db.collection.validate() 같습니다.

db.collection.validate( {
full: <boolean>, // Optional
repair: <boolean>, // Optional, added in MongoDB 5.0
checkBSONConformance: <boolean> // Optional, added in MongoDB 6.2
} )

메서드는 필드와 함께 다음과 같은 선택적 문서 매개변수를 사용할 수 db.collection.validate() 있습니다.

필드
유형
설명

부울

선택 사항입니다. 명령이 더 느리지만 더 철저한 검사를 수행할지, 아니면 더 빠르지만 덜 철저한 검사를 수행할지를 정하는 플래그입니다.

  • true인 경우 다음 예외를 제외하고 보다 철저한 검사를 수행합니다.

    • WiredTiger의 oplog에 대한 전체 유효성 검사는 더 철저한 검사를 건너뜁니다.
  • false인 경우 더 빠르지만 덜 철저한 검사를 위해 일부 검사를 생략합니다.

기본값은 false입니다.

WiredTiger 스토리지 엔진 의 경우 full 유효성 검사 프로세스 만 체크포인트 를 강제 실행하고 디스크 내 데이터를 확인하기 전에 모든 인메모리 데이터를 디스크로 플러시합니다.

부울

선택 사항입니다. 명령이 복구를 수행할지 여부를 결정하는 플래그입니다.

  • true인 경우 복구가 수행됩니다.

  • false인 경우 복구가 수행되지 않습니다.

기본값은 false입니다.

복구는 독립형 노드에서만 실행할 수 있습니다.

수리를 통해 다음 문제가 해결됩니다.

  • 누락된 인덱스 항목이 발견되면 누락된 키가 인덱스에 삽입됩니다.

  • 추가 인덱스 항목이 발견되면 추가 키가 인덱스에서 제거됩니다.

  • 멀티키 인덱스가 아닌 인덱스에 대한 멀티키 문서가 발견되면 인덱스는 멀티키 인덱스로 변경됩니다.

  • 인덱스의 멀티키 경로에 지정되지 않은 멀티키 문서가 발견되면 인덱스의 멀티키 경로가 업데이트됩니다.

  • 잘못된 BSON 데이터가 포함된 손상된 문서가 발견되면 해당 문서가 제거됩니다.

자세한 내용은 의 옵션을 --repair 참조하세요.mongod

버전 5.0의 신규 항목입니다.

부울

선택 사항입니다. true 인 경우 BSON 문서가 BSON 사양을 준수하는지 확인하기 위해 컬렉션을 검사합니다. 검사는 유효성 검사 작업을 완료하는 데 걸리는 시간을 늘립니다. 모든 문제는 경고로 반환됩니다.

checkBSONConformance:

  • 기본값은 false입니다.

  • full이(가) true(으)로 설정되면 활성화됩니다.

  • 다음과 함께 사용할 수 없습니다.

    • repair true(으)로 설정합니다.

    • metadata true(으)로 설정합니다.

버전 6.2에 추가 되었습니다.

db.collection.validate() 메서드는 잠재적으로 리소스 많이 사용하며, 특히 대규모 데이터 세트에서 MongoDB 인스턴스 성능에 영향 수 있습니다.

메서드는 db.collection.validate() 컬렉션 에 대한 배타 락 얻습니다. 이렇게 하면 작업이 완료될 때까지 컬렉션 에 대한 모든 읽기 및 쓰기가 차단 됩니다. 세컨더리 에서 실행 작업은 완료될 때까지 해당 세컨더리 의 다른 모든 작업을 차단 수 있습니다.

경고

유효성 검사에는 읽기를 제공하는 프라이머리 및 세컨더리의 성능에 영향을 미치는 배타 락 요구 사항이 있습니다.db.collection.validate() 읽기 또는 쓰기를 제공하지 않는 노드에서만 를 실행 좋습니다.

데이터 보유자의 대다수인 프라이머리(비중재자)에 대한 영향을 최소화하려면 클러스터에서 투표 멤버를 사용할 수 있어야 하며 복제 지연이 심하지 않아야 합니다.

유효성 검사 작업이 클라이언트 애플리케이션에 영향 db.collection.validate() 최소화하려면 읽기 요청을 제공하지 않는 세컨더리 노드 에서 를 실행 . 메서드를 실행 하여 현재 프라이머리 노드 세컨더리 노드 로 변환할 수 있습니다.rs.stepDown()

작업을 클라이언트 트래픽에서 완전히 격리하려면 다음 옵션 중 하나를 선택합니다.db.collection.validate()

$currentOpcurrentOp 명령에는 진행 중인 유효성 검증 작업에 대한 dataThroughputAveragedataThroughputLastSecond 정보가 포함됩니다.

유효성 검사 작업에 대한 로그 메시지에는 dataThroughputAveragedataThroughputLastSecond 정보가 포함됩니다.

MongoDB 부터 6.2 validate 명령과 db.collection.validate() 메서드는 다음과 같습니다.

  • 컬렉션을 확인하여 BSON 문서가 BSON 사양을 준수하는지 확인하십시오.

  • time series 컬렉션에 내부 데이터 불일치가 있는지 확인합니다.

  • 포괄적인 BSON 검사를 가능하게 하는 새 옵션 checkBSONConformance이(가) 있습니다.

  • 기본 유효성 검사 설정(특히 전체: false)을 사용하여 myCollection 컬렉션의 유효성을 검사합니다.

    db.myCollection.validate()
    db.myCollection.validate({ })
    db.myCollection.validate( { full: false } )
  • 컬렉션 myCollection의 전체 유효성 검사를 수행하려면 full: true를 지정합니다.

    db.myCollection.validate( { full: true } )
  • 컬렉션 myCollection을 복구하려면 repair: true를 지정합니다.

    db.myCollection.validate( { repair: true } )
  • myCollection에서 추가 BSON 적합성 검사를 수행하려면 checkBSONConformance: true를 지정합니다.

    db.myCollection.validate( { checkBSONConformance: true } )

출력에 관한 자세한 내용은 출력 유효성 검사에서 확인하세요.

이 페이지의 내용