サポートされているデータ型

このページでは、Cloud Firestore でサポートされるデータ型について説明します。

データ型

データ型 並べ替え順 備考
配列 要素、要素が等しい場合は配列の長さ

他の配列値を含めることはできません。

配列は要素を基準として並べ替えられます。要素が等しい場合、配列は長さを基準として並べ替えられます。

例: [1, 2, 3] < [1, 2, 3, 1] < [2]

ブール値 false < true -
バイト バイト順 最大 1,048,487 バイト(1 MiB~89 バイト)。最初の 1,500 バイトのみがクエリによって考慮されます。
日時 時系列 Cloud Firestore に保存した場合、精度はマイクロ秒までになり、それより下の桁は切り捨てられます。
浮動小数点数 数値 64 ビット倍精度、IEEE 754。
地理的座標 緯度、経度の順 -
整数 数値 64 ビット、符号付き
マップ キー、次に値

ドキュメント内に埋め込まれたオブジェクトを表します。インデックス付けされている場合は、サブフィールドに対してクエリを実行できます。この値をインデックス付けから除外した場合、すべてのサブフィールドもインデックス付けから除外されます。

キーの順序は常に並べ替えられます。たとえば、{c: "foo", a: "bar", b: "qux"} を書き込むと、マップはキーを基準に並べ替えられ、{a: "foo", b: "bar", c: "qux"} として保存されます。

マップ フィールドはキーを基準に並べ替えられ、Key-Value ペアにより比較されます(まずキーを比較してから値を比較します)。最初の Key-Value ペアが等しい場合は次の Key-Value ペアが比較され、これが順に行われます。2 つのマップの先頭が同じ Key-Value ペアである場合は、マップの長さが考慮されます。たとえば、次のマップは昇順です。

{a: "aaa", b: "baz"}
{a: "foo", b: "bar"}
{a: "foo", b: "bar", c: "qux"}
{a: "foo", b: "baz"}
{b: "aaa", c: "baz"}
{c: "aaa"}

Null なし -
参照 パス要素順(コレクション、ドキュメント ID、コレクション、ドキュメント ID...) たとえば、projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] のようになります。
テキスト文字列 UTF-8 でエンコードされたバイト順 最大 1,048,487 バイト(1 MiB~89 バイト)。UTF-8 表現の最初の 1,500 バイトのみがクエリによって考慮されます。

値の型の順序付け

型が混合した値を持つフィールドをクエリで扱う場合、内部表現に基づく決定論的な順序付けが使用されます。この順序は次のとおりです。

  1. Null 値
  2. ブール値
  3. 数値順に並べ替えられた整数値と浮動小数点値
  4. 日付の値
  5. テキスト文字列の値
  6. バイト値
  7. Cloud Firestore の参照
  8. 地理的座標値
  9. 配列値
  10. マップ値

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。