このページでは、Cloud Firestore がサポートするデータ型について説明します。
データ型
次の表に、Cloud Firestore でサポートされているデータ型を示します。また、同じ型の値を比較するときに使用される並べ替え順序についても説明します。
データ・タイプ | ソート順 | ノート |
---|---|---|
配列 | 要素値による | 配列には、その要素の 1 つとして別の配列値を含めることはできません。 配列内では、要素は割り当てられた位置を維持します。 2 つ以上の配列を並べ替える場合、配列は要素の値に基づいて並べ替えられます。 2 つの配列を比較する場合、各配列の最初の要素が比較されます。最初の要素が等しい場合は、2 番目の要素が比較され、違いが見つかるまで繰り返されます。配列が比較する要素を使い果たしたが、その時点までは等しい場合、短い方の配列が長い方の配列の前に並べられます。 たとえば、 |
ブール値 | false < true | — |
バイト | バイトオーダー | 最大 1,048,487 バイト (1 MiB - 89 バイト)。クエリでは、最初の 1,500 バイトのみが考慮されます。 |
日時 | 年代順 | Cloud Firestore に保存されている場合、精度はマイクロ秒までです。それ以上の精度は切り捨てられます。 |
浮動小数点数 | 数値 | 64 ビット倍精度、IEEE 754。 |
地理的ポイント | 緯度の次に経度 | 現時点では、クエリの制限により、このデータ型を使用することはお勧めしません。一般に、緯度と経度を別々の数値フィールドとして保存することをお勧めします。アプリで単純な距離ベースの地理クエリが必要な場合は、地理クエリを参照してください。 |
整数 | 数値 | 64 ビット、署名済み |
地図 | キーで、次に値で | ドキュメント内に埋め込まれたオブジェクトを表します。インデックスを作成すると、サブフィールドに対してクエリを実行できます。この値をインデックスから除外すると、すべてのサブフィールドもインデックスから除外されます。 キーの順序は常にソートされます。たとえば、 マップ フィールドはキーで並べ替えられ、キーと値のペアで比較されます。最初にキーが比較され、次に値が比較されます。最初のキーと値のペアが等しい場合、次のキーと値のペアが比較されます。 2 つのマップが同じキーと値のペアで始まる場合、マップの長さが考慮されます。たとえば、次のマップは昇順です。 |
ヌル | なし | — |
参照 | パス要素別 (コレクション、ドキュメント ID、コレクション、ドキュメント ID...) | たとえば、 projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] です。 |
テキスト文字列 | UTF-8 でエンコードされたバイト順 | 最大 1,048,487 バイト (1 MiB - 89 バイト)。クエリでは、UTF-8 表現の最初の 1,500 バイトのみが考慮されます。 |
値の型順
クエリに混合型の値を持つフィールドが含まれる場合、Cloud Firestore は内部表現に基づく決定論的な順序付けを使用します。次のリストは順序を示しています。
- ヌル値
- ブール値
- 数値順にソートされた整数値と浮動小数点値
- 日付値
- テキスト文字列値
- バイト値
- Cloud Firestore のリファレンス
- 地理的ポイント値
- 配列値
- マップ値