Unterstützte Datentypen

Auf dieser Seite werden die Datentypen beschrieben, die Cloud Firestore unterstützt.

Datentypen

In der folgenden Tabelle sind die von Cloud Firestore unterstützten Datentypen aufgeführt. Außerdem wird die Sortierreihenfolge beschrieben, die beim Vergleichen von Werten desselben Typs verwendet wird:

Datentyp Sortierreihenfolge Anmerkungen
Array Nach Elementwerten

Ein Array kann keinen anderen Array-Wert als eines seiner Elemente enthalten.

Innerhalb eines Arrays behalten Elemente die ihnen zugewiesene Position bei. Beim Sortieren von zwei oder mehr Arrays werden die Arrays nach ihren Elementwerten sortiert.

Beim Vergleich zweier Arrays werden die ersten Elemente jedes Arrays verglichen. Wenn die ersten Elemente gleich sind, werden die zweiten Elemente verglichen und so weiter, bis ein Unterschied festgestellt wird. Wenn ein Array keine zu vergleichenden Elemente mehr hat, aber bis zu diesem Punkt gleich ist, wird das kürzere Array vor dem längeren Array geordnet.

Beispiel: [1, 2, 3] < [1, 2, 3, 1] < [2] . Das Array [2] hat den größten ersten Elementwert. Das Array [1, 2, 3] hat Elemente, die den ersten drei Elementen von [1, 2, 3, 1] entsprechen, ist jedoch kürzer.

Boolescher Wert false < true
Bytes Bytereihenfolge Bis zu 1.048.487 Byte (1 MiB – 89 Byte). Bei Abfragen werden nur die ersten 1.500 Byte berücksichtigt.
Datum (und Uhrzeit Chronologisch Bei Speicherung im Cloud Firestore nur auf Mikrosekunden genau; Jede zusätzliche Genauigkeit wird abgerundet.
Gleitkommazahl Numerisch 64-Bit-Doppelpräzision, IEEE 754 .
Geografischer Punkt Nach Breitengrad, dann Längengrad Aufgrund von Abfrageeinschränkungen empfehlen wir derzeit nicht, diesen Datentyp zu verwenden. Im Allgemeinen ist es besser, Breiten- und Längengrad als separate numerische Felder zu speichern. Wenn Ihre App einfache entfernungsbasierte Geoabfragen benötigt, finden Sie weitere Informationen unter Geoabfragen
Ganze Zahl Numerisch 64-Bit, signiert
Karte Nach Schlüsseln, dann nach Wert

Stellt ein in ein Dokument eingebettetes Objekt dar. Bei der Indizierung können Sie Unterfelder abfragen. Wenn Sie diesen Wert von der Indizierung ausschließen, werden auch alle Unterfelder von der Indizierung ausgeschlossen.

Die Reihenfolge der Schlüssel ist immer sortiert. Wenn Sie beispielsweise {c: "foo", a: "bar", b: "qux"} schreiben, wird die Karte nach Schlüssel sortiert und als {a: "bar", b: "qux", c: "foo"} gespeichert. {a: "bar", b: "qux", c: "foo"} .

Kartenfelder werden nach Schlüssel sortiert und anhand von Schlüssel-Wert-Paaren verglichen, wobei zuerst die Schlüssel und dann die Werte verglichen werden. Wenn die ersten Schlüssel-Wert-Paare gleich sind, werden die nächsten Schlüssel-Wert-Paare verglichen und so weiter. Wenn zwei Karten mit denselben Schlüssel-Wert-Paaren beginnen, wird die Kartenlänge berücksichtigt. Die folgenden Karten sind beispielsweise in aufsteigender Reihenfolge:

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

NaN Keiner
Null Keiner
Referenz Nach Pfadelementen (Sammlung, Dokument-ID, Sammlung, Dokument-ID ...) Zum Beispiel projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] .
Textzeichenfolge UTF-8-codierte Bytereihenfolge Bis zu 1.048.487 Byte (1 MiB – 89 Byte). Bei Abfragen werden nur die ersten 1.500 Bytes der UTF-8-Darstellung berücksichtigt.

Reihenfolge der Werttypen

Wenn eine Abfrage ein Feld mit Werten gemischter Typen umfasst, verwendet Cloud Firestore eine deterministische Reihenfolge basierend auf den internen Darstellungen. Die folgende Liste zeigt die Reihenfolge:

  1. Nullwerte
  2. Boolesche Werte
  3. NaN-Werte
  4. Ganzzahl- und Gleitkommawerte, sortiert in numerischer Reihenfolge
  5. Datumswerte
  6. Textzeichenfolgenwerte
  7. Bytewerte
  8. Cloud Firestore-Referenzen
  9. Geografische Punktwerte
  10. Array-Werte
  11. Kartenwerte