モデルとフィールド
モデルは、ページや商品など、ある種類のレコードの形です。16種類の組み込みフィールドタイプで構成し、レコードを持つモデルには、自分のAPIに専用の型付きクエリとミューテーションが追加されます。
16種類のフィールドタイプ
プレーンテキストは1つのタイプ、リッチテキストは別のタイプで、その名前はproseです。数値もタイプが2つあり、integerは整数用、decimalは正確な小数用です。そのほかは、boolean、date、JSON、list、reference、geopoint、ファイルとメディア用の3つ(file、image、video)、2種類の選択、そしてモデルのキーを保存するフィールドです。
enumは、フィールド上に書かれた固定の選択肢のリストです。selectは、別のモデルのレコードから選択肢を取ります。どちらも複数選択を許可できます。geopointは宣言した時点でインデックスされるため、レコードを距離で検索できます。
整数と小数
±2^53を超える整数は拒否されます。decimalは文字列として送られ、桁数が保たれるため、19.90は19.90のままで、decimalフィールドに送られたJSONの数値は拒否されます。SDKはdecimalを専用の厳密な型としてコードに渡すため、価格が浮動小数点を経由することはありません。
すべてのフィールドが持つ項目
フィールドには、キー、ラベル、ヘルプテキスト、既定値、必須フラグ、そしてアクセスポリシーがあり、読み取りと書き込みを許可する人を指定します。フィールドをqueryableにすると、フィルタリングとソート用にインデックスされます。インデックスは、変更が公開された時点で既存のレコードに対して再構築されます。
レコードモデルとインラインモデル
モデルは、レコードを保持するか、インラインかのどちらかです。インラインモデルには独自のレコードがなく、そのキーは他のモデルで使えるフィールドタイプになります。
コンソールかコードか
モデルは、コンソール、CLIコマンド、またはコードで定義できます。コードの場合は、プロジェクトの設定ファイルに書き、CLIがプッシュします。モデルのフィールドを編集すると新しいスキーマバージョンが作られ、以前のバージョンは復元できます。
詳細を読む
フィールドタイプのリファレンスで、すべてのタイプをオプションと、読み取り時に返る形とともに一覧しています。