Na tej stronie opisano typy danych obsługiwane przez Cloud Firestore.
Typy danych
W poniższej tabeli wymieniono typy danych obsługiwane przez Cloud Firestore. Opisuje także porządek sortowania używany przy porównywaniu wartości tego samego typu:
Typ danych | Kolejność sortowania | Notatki |
---|---|---|
Szyk | Według wartości elementów | Tablica nie może zawierać innej wartości tablicy jako jednego ze swoich elementów. Elementy w tablicy zachowują przypisaną im pozycję. Podczas sortowania dwóch lub większej liczby tablic porządkowanie tablic odbywa się na podstawie wartości ich elementów. Porównując dwie tablice, porównywane są pierwsze elementy każdej tablicy. Jeżeli pierwsze elementy są równe, wówczas porównywane są drugie elementy i tak dalej, aż do znalezienia różnicy. Jeśli w tablicy zabraknie elementów do porównania, ale do tego momentu będzie ona równa, wówczas krótsza tablica zostanie uporządkowana przed dłuższą tablicą. Na przykład |
Wartość logiczna | false < true | — |
Bajty | Kolejność bajtów | Do 1 048 487 bajtów (1 MiB - 89 bajtów). Zapytania uwzględniają tylko pierwsze 1500 bajtów. |
Data i godzina | Chronologiczny | Gdy są przechowywane w Cloud Firestore, z dokładnością tylko do mikrosekund; każda dodatkowa dokładność jest zaokrąglana w dół. |
Liczba zmiennoprzecinkowa | Numeryczny | 64-bitowa podwójna precyzja, IEEE 754. |
Punkt geograficzny | Według szerokości geograficznej, a następnie długości geograficznej | Obecnie nie zalecamy używania tego typu danych ze względu na ograniczenia w zakresie zapytań. Ogólnie rzecz biorąc, lepiej jest przechowywać szerokość i długość geograficzną jako oddzielne pola numeryczne. Jeśli Twoja aplikacja wymaga prostych zapytań geograficznych opartych na odległości, zobacz Zapytania geograficzne |
Liczba całkowita | Numeryczny | 64-bitowy, podpisany |
Mapa | Według kluczy, a następnie według wartości | Reprezentuje obiekt osadzony w dokumencie. Po indeksowaniu możesz wysyłać zapytania do podpól. Jeśli wykluczysz tę wartość z indeksowania, wówczas wszystkie podpola również zostaną wyłączone z indeksowania. Kolejność kluczy jest zawsze sortowana. Na przykład, jeśli napiszesz Pola mapy są sortowane według klucza i porównywane według par klucz-wartość, najpierw porównując klucze, a następnie wartości. Jeśli pierwsze pary klucz-wartość są równe, porównywane są kolejne pary klucz-wartość i tak dalej. Jeśli dwie mapy zaczynają się od tych samych par klucz-wartość, uwzględniana jest długość mapy. Na przykład następujące mapy są uporządkowane rosnąco: |
NaN | Nic | — |
Zero | Nic | — |
Odniesienie | Według elementów ścieżki (kolekcja, identyfikator dokumentu, kolekcja, identyfikator dokumentu...) | Na przykład projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] . |
Ciąg tekstowy | Kolejność bajtów zakodowana w UTF-8 | Do 1 048 487 bajtów (1 MiB - 89 bajtów). Zapytania uwzględniają tylko pierwsze 1500 bajtów reprezentacji UTF-8. |
Porządkowanie typu wartości
Gdy zapytanie obejmuje pole z wartościami typów mieszanych, Cloud Firestore stosuje porządkowanie deterministyczne w oparciu o reprezentacje wewnętrzne. Poniższa lista przedstawia kolejność:
- Wartości zerowe
- Wartości logiczne
- Wartości NaN
- Wartości całkowite i zmiennoprzecinkowe, posortowane w kolejności numerycznej
- Wartości daty
- Wartości ciągu tekstowego
- Wartości bajtów
- Referencje Cloud Firestore
- Wartości punktów geograficznych
- Wartości tablicowe
- Wartości mapy