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 również kolejność sortowania używaną podczas porównywania wartości tego samego typu:
Typ danych | Kolejność sortowania | Notatki |
---|---|---|
Szyk | Według wartości elementu | Tablica nie może zawierać innej wartości tablicy jako jednego ze swoich elementów. W tablicy elementy zachowują przypisaną im pozycję. Podczas sortowania dwóch lub więcej tablic tablice są uporządkowane na podstawie wartości ich elementów. Podczas porównywania dwóch tablic porównywane są pierwsze elementy każdej tablicy. Jeśli pierwsze elementy są równe, porównuje się drugie elementy i tak dalej, aż do znalezienia różnicy. Jeśli w tablicy zabraknie elementów do porównania, ale do tego momentu jest ona równa, wówczas krótsza tablica jest porządkowana przed dłuższą tablicą. Na przykład |
logiczne | 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 | W przypadku przechowywania w Cloud Firestore, dokładność tylko do mikrosekund; każda dodatkowa dokładność jest zaokrąglana w dół. |
Liczba zmiennoprzecinkowa | Numeryczne | 64-bitowa podwójna precyzja, IEEE 754. |
Punkt geograficzny | Według szerokości geograficznej, a następnie długości geograficznej | W tej chwili nie zalecamy używania tego typu danych ze względu na ograniczenia zapytań. Zasadniczo lepiej jest przechowywać szerokość i długość geograficzną jako oddzielne pola liczbowe. Jeśli Twoja aplikacja wymaga prostych zapytań geograficznych opartych na odległości, zobacz Zapytania geograficzne |
Liczba całkowita | Numeryczne | 64-bitowy, podpisany |
Mapa | Według kluczy, a następnie według wartości | Reprezentuje obiekt osadzony w dokumencie. Po zindeksowaniu możesz wysyłać zapytania dotyczące pól podrzędnych. Jeśli wykluczysz tę wartość z indeksowania, wszystkie podpola również zostaną wykluczone 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ą w porządku rosnącym: |
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. |
Kolejność typu wartości
Gdy zapytanie dotyczy pola z wartościami różnych typów, Cloud Firestore stosuje kolejność deterministyczną opartą na wewnętrznych reprezentacjach. Poniższa lista pokazuje kolejność:
- Wartości zerowe
- Wartości logiczne
- wartości NaN
- Wartości całkowite i zmiennoprzecinkowe, posortowane w porządku numerycznym
- Wartości daty
- Wartości ciągu tekstowego
- Wartości bajtów
- Referencje Cloud Firestore
- Wartości punktów geograficznych
- Wartości tablicy
- Wartości mapy