모델과 필드
모델은 페이지나 제품 같은 한 종류의 레코드가 가진 형태입니다. 내장 필드 타입 열여섯 가지로 구성하며, 레코드를 담는 모델은 여러분의 API에서 자체 타입 지정 쿼리와 뮤테이션을 갖습니다.
열여섯 가지 필드 타입
일반 텍스트가 한 타입이고, 리치 텍스트가 다른 타입이며 이름은 prose입니다. 숫자 타입도 둘이며, integer 타입은 정수용이고, decimal 타입은 정밀한 소수용입니다. 나머지는 boolean, date, JSON, list, reference, geopoint, 파일과 미디어용 셋(file, image, video), 선택 유형 둘, 모델의 키를 저장하는 필드입니다.
enum은 필드에 직접 쓰는 고정된 선택지 목록입니다. select는 다른 모델의 레코드에서 선택지를 가져옵니다. 둘 다 여러 개를 선택하도록 허용할 수 있습니다. geopoint는 선언할 때 인덱싱되므로 레코드를 거리 기준으로 찾을 수 있습니다.
integer와 decimal
±2^53을 넘는 integer는 거부됩니다. decimal은 문자열로 전달되고 소수 자릿수를 유지하므로 19.90은 19.90으로 남으며, decimal 필드에 JSON 숫자를 보내면 거부됩니다. SDK는 decimal을 코드에 고유한 정확한 타입으로 전달하므로 가격이 부동소수점을 거치지 않습니다.
모든 필드가 받는 것
필드에는 키, 레이블, 도움말 텍스트, 기본값, 필수 플래그, 그리고 누가 읽고 쓸 수 있는지를 정하는 액세스 정책이 있습니다. 필드를 queryable로 표시하면 필터링과 정렬을 위해 인덱싱되며, 인덱스는 변경이 게시될 때 기존 레코드에 대해 다시 구축됩니다.
레코드 모델과 인라인 모델
모델은 레코드를 담거나 인라인입니다. 인라인 모델 자체에는 레코드가 없고, 그 키가 다른 모델에서 쓸 수 있는 필드 타입이 됩니다.
콘솔 또는 코드
모델은 콘솔에서, CLI 명령으로, 또는 코드로 정의하며, 코드의 경우 프로젝트의 설정 파일에 작성하고 CLI로 푸시합니다. 모델의 필드를 편집하면 새 스키마 버전이 만들어지고, 이전 버전은 복원할 수 있습니다.