이 기사에서는 데이터 무결성을 시행하기 위해 $ jsonschema 유효성 검사기를 사용하여 MongoDB의 스키마 검증을 설명합니다. 데이터 유형, 제약 조건 (예 : Min/Max) 및 필요한 필드를 지정하는 JSON 스키마를 정의하는 방법에 대해 자세히 설명합니다. Schema DE에 대한 모범 사례
MongoDB의 스키마 검증을 통해 문서의 구조 및 내용에 대한 규칙을 정의하여 데이터 무결성 및 일관성을 보장 할 수 있습니다. 이것은 createCollection
또는 collMod
명령 내에서 $jsonSchema
유효성 검사기를 통해 달성됩니다. $jsonSchema
Validator는 JSON 스키마 문서를 사용하여 문서에 필요한 필드, 데이터 유형 및 제약 조건을 지정합니다.
예를 들어, 사용자에 대한 정보를 저장한다고 가정 해 봅시다. 각 사용자 문서는 firstName
(String), lastName
(문자열) 및 age
(정수)을 갖고 나이가 0에서 120 사이인지 확인하려고합니다. 이와 같이 JSON 스키마를 정의 할 수 있습니다.
<code class="json">{ "bsonType": "object", "properties": { "firstName": { "bsonType": "string", "description": "must be a string and is required" }, "lastName": { "bsonType": "string", "description": "must be a string and is required" }, "age": { "bsonType": "int", "minimum": 0, "maximum": 120, "description": "must be an integer between 0 and 120" } }, "required": [ "firstName", "lastName", "age" ] }</code>
이 스키마는 문서가 객체 여야한다는 것을 지정하고 필요한 필드와 해당 데이터 유형을 정의합니다. required
배열은 firstName
, lastName
및 age
모든 문서에 존재하도록합니다. minimum
및 maximum
속성은 age
분야를 제한합니다. 그런 다음 createCollection
또는 collMod
명령을 사용하여 validator
옵션을 사용하여 컬렉션을 작성하거나 수정할 때이 스키마를 적용합니다. 이러한 규칙을 위반하는 문서는 MongoDB에 의해 거부됩니다. 이는 잘못된 데이터가 데이터베이스에 입력하여 데이터 무결성을 유지하는 것을 방지합니다.
유효성 검사를 통해 효과적인 MongoDB 스키마를 설계하려면 데이터 모델 및 잠재적 사용 사례를 신중하게 고려해야합니다. 모범 사례는 다음과 같습니다.
required
배열을 사용하십시오.minimum
, maximum
, minLength
, 최대 길이, maxLength
, pattern
(일반 표현식) 및 enum
과 같은 제약 조건을 사용하여 데이터 제한을 시행합니다.문서가 스키마 유효성 검사에 실패하면 MongoDB는 삽입 또는 업데이트 작업을 거부합니다. 응용 프로그램은 이러한 오류를 우아하게 처리해야합니다. 특정 방법은 운전자 및 프로그래밍 언어에 따라 다릅니다. 일반적으로 유효성 검사 실패 및 그 이유를 나타내는 오류 메시지가 표시됩니다.
try...catch
블록 (또는 이와 동등한)으로 유효성 검사 오류를 잡으십시오. 아니요, MongoDB의 내장 스키마 검증은 사용자 정의 유효성 검사 기능을 직접 지원하지 않습니다. $jsonSchema
Validator는 사전 정의 된 JSON 스키마 키워드 및 데이터 유형에 의존합니다. 그러나 다른 수단을 통해 유사한 기능을 달성 할 수 있습니다.
$jsonSchema
유효성 검사기를 사용하여 삽입/업데이트 중에 사용자 정의 검증을 시행 할 수는 없지만 사후 처리 검사 및 감사를 수행하여 불일치를 식별 할 수 있습니다. 여기에는 데이터베이스를 쿼리하고 사용자 정의 규칙 준수를 위해 데이터를 확인하는 것이 포함될 수 있습니다. 그런 다음 검토 또는 수정을 위해 이러한 불일치를 표시 할 수 있습니다.응용 프로그램 수준 검증은 강력한 데이터 무결성에 중요합니다. MongoDB의 스키마 검증은 첫 번째 방어선을 제공하지만 복잡한 검증 요구에 전적으로 의존해서는 안됩니다.
위 내용은 MongoDB의 스키마 검증을 사용하여 데이터 무결성을 시행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!