스키마 검증을 사용하면 허용된 데이터 유형 및 값 범위와 같은 필드에 대한 유효성 검사 규칙을 만들 수 있습니다.
MongoDB는 유연한 스키마 모델을 사용하므로 컬렉션의 문서가 기본적으로 동일한 필드나 데이터 유형을 가질 필요가 없습니다. 애플리케이션 스키마를 설정한 후에는 스키마 유효성 검사를 사용하여 의도하지 않은 스키마 변경이나 부적절한 데이터 유형이 없는지 확인할 수 있습니다.
MongoDB Atlas에서 호스팅되는 배포서버에 대해 UI에서 스키마 유효성 검사를 구현할 수 있습니다.
스키마 유효성 검사를 사용해야 하는 경우
스키마 유효성 검사 요구 사항은 사용자가 애플리케이션 사용하는 방식에 따라 달라집니다. MongoDB의 유연한 스키마 사용하면 특히 개발 초기 단계에서 데이터 모델 쉽게 발전시킬 수 있습니다. 그러나 데이터 모델 안정화되면 스키마 유효성 검사 데이터가 의도한 대로 표시되는지 확인하는 데 유용한 방법이 될 수 있습니다. 스키마 유효성 검사 데이터 구성 방법을 잘 알고 있는 기존 애플리케이션 에 가장 유용합니다.
참고
스키마 유효성 검사 규칙도 유연하므로 애플리케이션 에서 요구하지 않는 한 문서 의 모든 필드 포괄할 필요가 없습니다.
다음 시나리오에서 스키마 유효성 검사를 사용할 수 있습니다:
events컬렉션 의 경우start_date필드 문자열이 아닌 날짜로만 저장되어 연결 애플리케이션이 예기치 않은 유형을 사용하지 않도록 합니다.store컬렉션 의 경우accepted_credit_cards필드["Visa", "MasterCard", "American Express"]와 같이 저장 에서 허용하는 크레딧 카드 목록에 속하는지 확인합니다. 이 유효성 검사 사용자가 지원되지 않는 크레딧 카드 금액을 입력하는 것을 방지합니다.학생 컬렉션 의 경우
gpa필드 항상 양수 부동 점 숫자인지 확인합니다. 이 유효성 검사 데이터 입력 중 오류를 방지합니다.
MongoDB가 유효성 검사를 하는 경우
컬렉션에 스키마 유효성 검사 규칙을 추가한 후:
모든 문서 삽입은 규칙에 부합해야 합니다.
스키마 유효성 검사 수준은 규칙이 기존 문서 및 문서 업데이트에 적용되는 방식을 정의합니다. 자세한 내용은 기존 문서에 대한 유효성 검사 수준 지정을 참조하세요.
컬렉션에서 스키마 유효성 검사 규칙과 일치하지 않는 문서를 찾으려면 스키마와 일치하지 않는 문서 찾기를 참조하세요.
문서 유효성 검사에 실패하면 어떻게 되나요?
기본적으로 삽입 또는 업데이트 작업으로 인해 잘못된 문서가 생성되면 MongoDB는 작업을 거부하고 문서를 컬렉션에 쓰지 않습니다.
또는 스키마 위반이 발생할 때 잘못된 문서 및 로그 경고를 허용하도록 MongoDB를 구성할 수 있습니다.
자세히 알아보려면 유효하지 않은 문서 처리 방법 선택을 참조하세요.
시작하기
스키마 유효성 검사와 관련된 일반적인 작업은 다음 페이지를 참조하세요:
자세히 알아보기
MongoDB의 유연한 스키마 모델에 대해 학습 MongoDB 의 데이터 모델링을 참조하세요.