Na tej stronie opisujemy typy danych obsługiwane przez Cloud Firestore.
Typy danych
W tabeli poniżej znajdziesz typy danych obsługiwane przez funkcję Cloud Firestore. it opisuje również kolejność sortowania stosowany przy porównywaniu wartości tego samego typu:
Typ danych | Kolejność sortowania | Uwagi |
---|---|---|
Tablica | Według wartości elementów |
Tablica nie może zawierać innej wartości tablicy jako jednego z jej elementów. Elementy w tablicy zachowują przypisaną do nich pozycję. Podczas sortowania co najmniej dwóch tablic tablice są uporządkowane według elementu .
Przy porównywaniu dwóch tablic pierwsze elementy każdej z nich są porównywane. Jeśli pierwsze elementy są równe, to drugie są porównywane i tak dalej, aż znajdziemy różnicę. Jeśli tablica się zabraknie do porównania, ale do tego momentu jest równa jest ułożona wcześniej niż dłuższa tablica. Na przykład: |
Wartość logiczna | false < true |
– |
Bajty | Kolejność bajtów | Maks. 1 048 487 bajtów (1 MiB–89 bajtów). Można użyć tylko pierwszych 1500 bajtów analizowane przez zapytania. |
Data i godzina | Chronologicznie | W przypadku przechowywania w trybie Cloud Firestore, z dokładnością tylko do mikrosekund. wszystkie dodatkowa precyzja jest zaokrąglana w dół. |
Liczba zmiennoprzecinkowa | Wartość liczbowa | Podwójna precyzja 64-bitowa, IEEE 754. |
Punkt geograficzny | Według szerokości, a następnie długości geograficznej | W tej chwili nie zalecamy korzystania z tego typu danych ze względu na ograniczenia zapytań. Długość i szerokość geograficzna lepiej jest zapisywać jako osobne pola liczbowe. Jeśli Twoja aplikacja wymaga prostych zapytań geograficznych opartych na odległości, zapoznaj się z sekcją Zapytania geograficzne. |
Liczba całkowita | Wartość liczbowa | 64-bitowy, podpisany |
Mapa | według kluczy, a potem według wartości | Reprezentuje obiekt umieszczony w dokumencie. Po zindeksowaniu można przesłać zapytanie w polach podrzędnych. Jeśli wykluczysz tę wartość z indeksowania, wszystkie pola podrzędne zostaną są wykluczone z indeksowania.
Kolejność kluczy jest zawsze sortowana. Jeśli na przykład napiszesz
Pola mapowania są sortowane według klucza i porównywane według par klucz-wartość, najpierw porównując klucze, a potem wartości. Jeśli pierwsze pary klucz-wartość są równe, porównywane są kolejne pary klucz-wartość i tak dalej. Jeśli 2 mapy zawierają wszystkie takie same pary klucz-wartość, brana jest pod uwagę długość mapy. Dla: Na przykład te mapy są posortowane rosnąco:
|
NaN | Brak | – |
Null | Brak | – |
Źródła wiedzy | Według elementów ścieżki (kolekcja, identyfikator dokumentu, kolekcja, identyfikator dokumentu...) | Przykład:
projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] |
Ciąg tekstowy | Kolejność bajtów zakodowana w UTF-8 | Maks. 1 048 487 bajtów (1 MiB–89 bajtów). Tylko pierwsze 1500 bajtów Reprezentacja UTF-8 jest uwzględniana w zapytaniach. |
Wektor | Według wymiaru, a następnie według poszczególnych wartości elementów | Maksymalny obsługiwany wymiar wektora dystrybucyjnego to 2048. Do przechowywania wektorów: o większych wymiarach, należy użyć funkcji redukcja wymiarów. |
Sortowanie typów wartości
Jeśli zapytanie obejmuje pole z wartościami różnych typów, W funkcji Cloud Firestore stosowana jest kolejność deterministyczna na podstawie wewnętrznego reprezentacji. Oto ich kolejność:
- Wartości null
- Wartości logiczne
- Wartości NaN
- Wartości całkowite i zmiennoprzecinkowe posortowane w kolejności liczbowej
- Wartości dat
- Wartości ciągu tekstowego
- Wartości w bajtach
- Cloud Firestore odwołania
- Geograficzne wartości punktowe
- Wartości tablicy
- Wektory dystrybucyjne wektorów
- Mapuj wartości