답변:
MongoDB 3.2에서와 같이 문서 유효성 검증이 실패한 이유에 대한 피드백은 없습니다. 전체 유효성 검증 표현식은 현재 True ( "OK") 또는 False ( "Document failed validation")로 평가됩니다. 유효성 검사 동작은 validationAction
(오류 / 경고) 및 validationLevel
(엄격한 / 보통 / 해제) 구성 옵션 으로 조정할 수 있지만 유효성 검사 실패에 대한 추가 컨텍스트는 제공하지 않습니다.
보다 자세한 피드백을 원한다면 서버 측 검사에만 의존하는 것이 아니라 응용 프로그램에 유효성 검사 논리를 추가하는 것이 좋습니다. 서버 측 유효성 검사에서도 데이터베이스 서버로의 왕복을 최소화하고 최종 사용자에게보다 반응적인 피드백을 제공하기 위해 응용 프로그램 비즈니스 논리에서 많은 검사가 가장 잘 수행됩니다.
예를 들어 웹 응용 프로그램 (필수 필드, 필드 형식 등)에 대한 사용자 입력은 응용 프로그램에 제출하거나 데이터베이스에 삽입 / 업데이트하기 전에 브라우저에서 확인해야합니다.
그러나 데이터 품질을 보장하기 위해 여러 수준에서 유효성을 검사하는 것이 합리적이며 유효성 검사 오류를 진단하기위한 일부 컨텍스트가 매우 유용합니다. MongoDB 이슈 트래커에서보고 / 투표 할 수있는 관련 공개 기능 요청이 있습니다. SERVER-20547 : 작업이 문서 유효성 검사에 실패한 이유를 노출하십시오 .
자세한 내용은 문서 유효성 검사-1 부 : 문서에 대한 적절한 제어량 추가에 관심이있을 수 있습니다 . 여기에는 MongoDB 3.2에서와 같이 문서 유효성 검사의 일반적인 장단점이 강조되어 있으며 결과 validationAction
및 기반 validationLevel
옵션 에 대한 참조 테이블이 포함되어 있습니다.
mongo-schemer
를 기반으로하는 Node.js 와 같은 몇 가지 예 를 보았습니다 .