스키마에 대한 유효성 검사 규칙 설정
이 페이지의 내용
유효성 검사 탭
Validation 탭에서는 컬렉션의 스키마 유효성 검사 규칙을 관리할 수 있습니다.
스키마 유효성 검사는 컬렉션의 모든 문서가 특정 형태를 따르거나 필드에 지정된 범위의 값만 허용하는 등 정의된 규칙 세트를 따르도록 합니다.
유효성 검사 규칙
버전 1.35.1에서 업데이트됨
유효성 검사 편집기는 JSON Schema 유효성 검사 및 쿼리 연산자를 사용한 쿼리 표현식 유효성 검사를 지원합니다. Update 버튼을 클릭하면 Compass가 업데이트되어 컬렉션에서 유효성 검사를 통과한 문서와 실패한 문서를 표시합니다.
JSON Schema 유효성 검사
JSON Schema 유효성 검사를 지정하려면 $jsonSchema 연산자를 사용합니다.
{ $jsonSchema: { required: ['name', 'borough'], // the name and borough fields are required properties: { cuisine: { bsonType: "string", description: "must be a string" } } } }
$jsonSchema 연산자는 유효성 검사 규칙을 지정하는 다양한 키워드를 지원합니다. 예를 들면 다음과 같습니다.
required
배열은 문서의 필수 필드를 정의합니다.properties
객체 는 특정 문서 필드에 대한 규칙을 정의합니다.
다음 유효성 검사 예시를 살펴보세요:
{ $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 문자열이어야 합니다.borough
필드 는 열거형 문자열 중 하나여야 합니다.
유효성 검사 작업 및 수준
상단에 Validation Action 및 Validation Level을 지정합니다:
유효성 검사 작업은
warn
를 표시하고 유효하지 않은 문서를 허용할지 또는error
를 표시하고 유효하지 않은 문서를 거부할지 결정합니다.유효성 검사 수준은 MongoDB가 기존 문서에 유효성 검사 규칙을 얼마나 엄격하게 적용하는지를 결정합니다.
Strict
유효성 검사는 모든 문서 삽입 및 업데이트에 규칙을 적용합니다.Moderate
유효성 검사는 새 문서와 기존의 유효한 문서에만 규칙을 적용합니다. 기존의 유효하지 않은 문서는 영향을 받지 않습니다.
유효성 검사 조치 및 수준에 대한 자세한 내용은 MongoDB 매뉴얼의 유효성 검사 규칙 지정을 참조하세요.
제한 사항
Data Lake에 연결되어 있는 경우 Validation 탭을 사용할 수 없습니다.
MongoDB Compass Readonly Edition에서는 유효성 검사 규칙만 볼 수 있습니다. 유효성 검사 규칙을 생성하고 편집하는 것은 허용되지 않습니다.