Auf dieser Seite werden die von Cloud Firestore unterstützten Datentypen beschrieben.
Datentypen
In der folgenden Tabelle sind die von Cloud Firestore unterstützten Datentypen aufgeführt. Es beschreibt auch die Sortierreihenfolge, die beim Vergleichen von Werten desselben Typs verwendet wird:
Datentyp | Sortierreihenfolge | Anmerkungen |
---|---|---|
Array | Nach Elementwerten | Ein Array darf 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 Arrays basierend auf ihren Elementwerten geordnet. 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 gefunden wird. Wenn einem Array die zu vergleichenden Elemente ausgehen, es aber bis zu diesem Punkt gleich ist, wird das kürzere Array vor dem längeren Array angeordnet. Beispiel: |
Boolesch | false < true | — |
Bytes | Byte-Reihenfolge | Bis zu 1.048.487 Bytes (1 MiB - 89 Bytes). Bei Abfragen werden nur die ersten 1.500 Bytes berücksichtigt. |
Datum (und Uhrzeit | Chronologisch | Bei Speicherung in Cloud Firestore nur auf Mikrosekunden genau; Jede zusätzliche Genauigkeit wird abgerundet. |
Fließkommazahl | Numerisch | 64-Bit-Doppelpräzision, IEEE 754. |
Geografischer Punkt | Nach Breitengrad, dann nach Längengrad | Derzeit empfehlen wir die Verwendung dieses Datentyps aufgrund von Abfragebeschränkungen nicht. Im Allgemeinen ist es besser, Längen- und Breitengrad 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. Wenn indiziert, können Sie Unterfelder abfragen. Wenn Sie diesen Wert von der Indizierung ausschließen, werden auch alle Teilfelder von der Indizierung ausgeschlossen. Die Schlüsselreihenfolge ist immer sortiert. Wenn Sie beispielsweise Zuordnungsfelder werden nach Schlüssel sortiert und nach 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üsselwertpaaren beginnen, wird die Kartenlänge berücksichtigt. Die folgenden Karten sind beispielsweise in aufsteigender Reihenfolge: |
Null | Keiner | — |
Referenz | Nach Pfadelementen (Sammlung, Dokument-ID, Sammlung, Dokument-ID...) | Beispiel: projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] . |
Textzeichenfolge | UTF-8-codierte Bytereihenfolge | Bis zu 1.048.487 Bytes (1 MiB - 89 Bytes). 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:
- Nullwerte
- Boolesche Werte
- In numerischer Reihenfolge sortierte Integer- und Fließkommawerte
- Datumswerte
- Werte von Textzeichenfolgen
- Byte-Werte
- Cloud Firestore-Referenzen
- Geografische Punktwerte
- Array-Werte
- Werte zuordnen