|
| immutable | boolean | false | true면 문서 생성 후 필드를 수정할 수 없습니다. 생성 시에만 설정됩니다. | |
| min | number | - | Int 또는 Float 필드의 최소값 제약. 저장 시 유효성 검사가 실행됩니다. | |
| max | number | - | Int 또는 Float 필드의 최대값 제약. 저장 시 유효성 검사가 실행됩니다. | |
| minlength | number | - | String 필드의 최소 문자열 길이 제약. | |
| maxlength | number | - | String 필드의 최대 문자열 길이 제약. | |
| enum | EnumClass | - | 필드 값을 enum 값으로 제한합니다. 일반적으로 enumOf()로 정의된 클래스와 함께 사용됩니다. | |
| select | boolean | true | false면 기본 쿼리에서 필드가 제외됩니다. 민감하거나 큰 필드에 사용합니다. | |
| accumulate | object | - | Insight 필드용 MongoDB 집계 표현식. 일치하는 문서들의 통계를 계산합니다. | |
| example | any | - | API 문서 생성(Swagger/OpenAPI)을 위한 예시 값. | |
| of | Type | - | Map 필드의 값 타입. 키는 항상 string이고, 값 타입은 'of'로 지정합니다. | |
| validate | (value, model) => boolean | - | 커스텀 유효성 검사 함수. 필드 값과 전체 모델을 받아 boolean을 반환합니다. | |
| text | "search" | "filter" | - | 전체 텍스트 검색(search) 또는 필터링(filter) 기능을 위한 텍스트 인덱싱을 활성화합니다. | |
| meta | object | - | UI 컴포넌트나 플러그인에서 사용하는 추가 필드 정보를 위한 커스텀 메타데이터 객체. | |
값이 제공되지 않을 때의 기본값. 정적 값 또는 동적 기본값을 위한 함수일 수 있습니다.
true면 필드가 null이거나 생략될 수 있습니다. .optional() 체인 메서드와 동일합니다.
ID 필드의 참조 컬렉션 이름. MongoDB population에 사용됩니다.
동적 참조 경로 - 다른 필드의 값을 사용하여 참조 컬렉션을 결정합니다.
참조 관계의 타입. population과 cascade 작업 방식에 영향을 줍니다.
일반적인 패턴에 대해 기본 유효성 검사와 예시 값을 적용하는 프리셋 타입.
property: 일반 필드, hidden: 백엔드 전용(프론트에 전송 안됨), resolve: 계산 필드(DB에 저장 안됨).
true면 문서 생성 후 필드를 수정할 수 없습니다. 생성 시에만 설정됩니다.
Int 또는 Float 필드의 최소값 제약. 저장 시 유효성 검사가 실행됩니다.
Int 또는 Float 필드의 최대값 제약. 저장 시 유효성 검사가 실행됩니다.
String 필드의 최소 문자열 길이 제약.
String 필드의 최대 문자열 길이 제약.
필드 값을 enum 값으로 제한합니다. 일반적으로 enumOf()로 정의된 클래스와 함께 사용됩니다.
false면 기본 쿼리에서 필드가 제외됩니다. 민감하거나 큰 필드에 사용합니다.
Insight 필드용 MongoDB 집계 표현식. 일치하는 문서들의 통계를 계산합니다.
API 문서 생성(Swagger/OpenAPI)을 위한 예시 값.
Map 필드의 값 타입. 키는 항상 string이고, 값 타입은 'of'로 지정합니다.
커스텀 유효성 검사 함수. 필드 값과 전체 모델을 받아 boolean을 반환합니다.
전체 텍스트 검색(search) 또는 필터링(filter) 기능을 위한 텍스트 인덱싱을 활성화합니다.
UI 컴포넌트나 플러그인에서 사용하는 추가 필드 정보를 위한 커스텀 메타데이터 객체.
| field | 설명 |
|---|---|
| property | 일반 필드 - DB에 저장, 프론트엔드로 전송 |
| hidden | 백엔드 전용 - DB에 저장되지만 프론트엔드로 전송 안됨 (예: OTP 코드) |
| resolve | 가상 필드 - 쿼리 시 계산, DB에 저장 안됨 (예: 다른 컬렉션의 조회수) |
일반 필드 - DB에 저장, 프론트엔드로 전송
백엔드 전용 - DB에 저장되지만 프론트엔드로 전송 안됨 (예: OTP 코드)
가상 필드 - 쿼리 시 계산, DB에 저장 안됨 (예: 다른 컬렉션의 조회수)
| field | 설명 |
|---|---|
| parent | 이 문서가 참조된 문서에 속함 |
| child | 참조된 문서가 이 문서에 속함 |
| relation | 소유권 없는 다대다 관계 |
이 문서가 참조된 문서에 속함
참조된 문서가 이 문서에 속함
소유권 없는 다대다 관계