Docs Menu
Docs Home
/
MongoDB Compass
/

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

이 페이지의 내용

  • 유효성 검사 탭
  • 유효성 검사 규칙
  • 유효성 검사 작업 및 수준
  • 제한 사항

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

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

유효성 검사 보기
클릭하여 확대

버전 1.35.1에서 업데이트됨

유효성 검사 편집기는 JSON Schema 유효성 검사쿼리 연산자를 사용한 쿼리 표현식 유효성 검사를 지원합니다. Update 버튼을 클릭하면 Compass가 업데이트되어 컬렉션에서 유효성 검사를 통과한 문서와 실패한 문서를 표시합니다.

JSON Schema 유효성 검사를 지정하려면 $jsonSchema 연산자를 사용합니다.

{
$jsonSchema: {
required: ['customer'], // the customer field is required
properties: {
purchaseMethod: {
enum: ['In Store','Online'],
description: "can only be either 'In Store' or 'Online'"
}
}
}
}

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

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

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

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

{
$jsonSchema: {
bsonType: "object",
required: [ "name", "year", "major", "gpa", "address.city", "address.street" ],
properties: {
name: {
bsonType: "string",
description: "must be a string"
},
year: {
bsonType: "int",
minimum: 2017,
maximum: 3017,
exclusiveMaximum: false,
description: "must be an integer in [ 2017, 3017 ]"
},
major: {
bsonType: "string",
enum: [ "Math", "English", "Computer Science", "History", null ],
description: "can only be one of the enum values"
},
gpa: {
bsonType: [ "double" ],
minimum: 0,
description: "must be a double"
}
}
}
}

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

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

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

{
$or: [
{ phone: { $type: "string" } },
{ email: { $regex: /@mongodb\.com$/ } },
{ status: { $in: [ "Unknown", "Incomplete" ] } }
]
}

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

  • phone 필드는 반드시 BSON type 문자열이어야 하며,

  • email 필드는 정규식 /@mongodb\.com$/ 또는

  • status 필드는 Unknown 또는 Incomplete여야 합니다.

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

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

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

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

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

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

다음도 참조하세요.

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

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

돌아가기

성능 인사이트