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

스키마에 대한 유효성 검사 규칙 설정

Validation 탭에서는 collection에 대한 스키마 유효성 검사 규칙을 관리할 수 있습니다.

스키마 유효성 검사는 컬렉션의 모든 문서가 특정 형태를 따르거나 필드에 지정된 범위의 값만 허용하는 등 정의된 규칙 세트를 따르도록 합니다.

유효성 검사 편집기는 JSON Schema 유효성 검사 및 쿼리 연산자를 사용한 유효성 검사를 활용하는 쿼리 표현식 유효성 검사를 지원합니다.

$jsonSchema 연산자는 유효성 검사 규칙을 지정하는 다양한 키워드를 지원합니다. 예를 들면 다음과 같습니다.

  • required 배열은 문서의 필수 필드를 정의합니다.

  • properties 객체는 특정 문서 필드에 대한 규칙을 정의합니다.

기존 샘플 데이터를 분석하여 JSON schema 생성하려면 유효성 검사 규칙 생성을 참조하세요.

다음 유효성 검사 예시를 살펴보세요:

{ $jsonSchema: { bsonType: "object", required: [ "address", "borough", "name" ], properties: { address: { bsonType: "object", properties: { coord: { bsonType: "array", items: [ { bsonType: "double", minimum: -180, maximum: 180, exclusiveMaximum: false, description: "must be a number in [ -180, 180 ]" }, { bsonType: "double", minimum: -90, maximum: 90, exclusiveMaximum: false, description: "must be a number in [ -90, 90 ]" } ] } }, description: "must be an object" }, borough: { bsonType: "string", enum: [ "Manhattan", "Brooklyn", "Queens", "Bronx", "Staten Island" ], description: "must be one of the enum strings" } } }}

이 유효성 검사는 다음을 지정합니다:

사용 가능한 모든 $jsonSchema 키워드를 보려면 MongoDB 매뉴얼의 $jsonSchema 페이지를 참조하세요.

$near, $nearSphere, $text, $where 쿼리 연산자를 제외한 쿼리 연산자를 사용하여 유효성 검사를 지정할 수도 있습니다.

{ $or: [ { name: { $type: "string" } }, { borough: { bsonType: "string", enum: [ "Manhattan", "Brooklyn", "Queens", "Bronx", "Staten Island" ], description: "must be one of the enum strings" } } ]}

이 유효성 검사를 사용하려면 다음 중 하나에 해당해야 합니다.

  • name 필드는 반드시 BSON type 문자열이어야 합니다.

  • borough 필드는 열거형 문자열 중 하나여야 합니다.

상단에 Validation Action 및 Validation Level을 지정합니다:

  • 유효성 검사 작업은 warn를 표시하고 유효하지 않은 문서를 허용할지 또는 error를 표시하고 유효하지 않은 문서를 거부할지 결정합니다.

  • 유효성 검사 수준은 MongoDB가 기존 문서에 유효성 검사 규칙을 얼마나 엄격하게 적용하는지를 결정합니다.

    • Strict 유효성 검사는 모든 문서 삽입 및 업데이트에 규칙을 적용합니다.

    • Moderate 유효성 검사는 새 문서와 기존의 유효한 문서에만 규칙을 적용합니다. 기존의 유효하지 않은 문서는 영향을 받지 않습니다.

유효성 검사 조치 및 수준에 대한 자세한 내용은 MongoDB 매뉴얼의 유효성 검사 규칙 지정을 참조하세요.

Atlas Data Federation에 연결되어 있는 경우 Validation 탭을 사용할 수 없습니다.

Compass는 1000개를 초과하는 고유 필드가 있는 스키마의 유효성을 검사할 수 없습니다. 1000개를 초과하는 고유 필드가 있는 스키마의 유효성을 검사하려고 하면 Compass에서 오류를 반환합니다.

MongoDB Compass Readonly Edition에서는 유효성 검사 규칙만 볼 수 있습니다. 유효성 검사 규칙을 생성하고 편집하는 것은 허용되지 않습니다.