了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Desteklenen veri türleri

Bu sayfada, Cloud Firestore'un desteklediği veri türleri açıklanmaktadır.

Veri tipleri

Aşağıdaki tablo, Cloud Firestore tarafından desteklenen veri türlerini listeler. Aynı türdeki değerleri karşılaştırırken kullanılan sıralama düzenini de açıklar:

Veri tipi Sıralama düzeni notlar
Sıralamak Öğe değerlerine göre

Bir dizi, öğelerinden biri olarak başka bir dizi değeri içeremez.

Bir dizi içinde, öğeler kendilerine atanan konumu korur. İki veya daha fazla dizi sıralanırken, diziler öğe değerlerine göre sıralanır.

İki diziyi karşılaştırırken, her dizinin ilk öğeleri karşılaştırılır. İlk elemanlar eşitse, ikinci elemanlar karşılaştırılır ve bir fark bulunana kadar bu böyle devam eder. Bir dizinin karşılaştırılacak öğeleri biterse ancak o noktaya kadar eşitse, daha kısa dizi uzun diziden önce sıralanır.

Örneğin, [1, 2, 3] < [1, 2, 3, 1] < [2] . [2] dizisi en büyük ilk eleman değerine sahiptir. [1, 2, 3] dizisi [1, 2, 3, 1] dizisinin ilk üç öğesine eşit öğeler içerir, ancak uzunluk olarak daha kısadır.

boole false < true
bayt Bayt sırası 1.048.487 bayta kadar (1 MiB - 89 bayt). Sorgular tarafından yalnızca ilk 1.500 bayt dikkate alınır.
Tarih ve saat Kronolojik Cloud Firestore'da saklandığında, yalnızca mikrosaniyeler düzeyinde kesinlik; herhangi bir ek kesinlik aşağı yuvarlanır.
Kayan noktalı sayı sayısal 64-bit çift hassasiyet, IEEE 754.
coğrafi nokta Enlem, sonra boylam Şu anda, sorgulama sınırlamaları nedeniyle bu veri türünün kullanılmasını önermiyoruz. Enlem ve boylamı ayrı sayısal alanlar olarak saklamak genellikle daha iyidir. Uygulamanızın mesafeye dayalı basit coğrafi sorgulara ihtiyacı varsa bkz. Coğrafi sorgular
tamsayı sayısal 64 bit, imzalı
Harita Tuşlara göre, ardından değere göre

Belge içine katıştırılmış bir nesneyi temsil eder. İndekslendiğinde alt alanlar üzerinde sorgulama yapabilirsiniz. Bu değeri indekslemenin dışında bırakırsanız, tüm alt alanlar da indekslemenin dışında tutulur.

Anahtar sıralaması her zaman sıralanır. Örneğin, {c: "foo", a: "bar", b: "qux"} yazarsanız, harita anahtara göre sıralanır ve {a: "bar", b: "qux", c: "foo"} şeklinde kaydedilir. {a: "bar", b: "qux", c: "foo"} .

Harita alanları, anahtara göre sıralanır ve önce anahtarlar, ardından değerler karşılaştırılarak anahtar-değer çiftlerine göre karşılaştırılır. İlk anahtar/değer çiftleri eşitse sonraki anahtar/değer çiftleri karşılaştırılır ve bu böyle devam eder. İki harita aynı anahtar/değer çiftleriyle başlıyorsa, harita uzunluğu dikkate alınır. Örneğin, aşağıdaki haritalar artan sıradadır:

{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 Hiçbiri
Hükümsüz Hiçbiri
Referans Yol öğelerine göre (koleksiyon, belge kimliği, koleksiyon, belge kimliği...) Örneğin, projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] .
Metin dizesi UTF-8 kodlu bayt sırası 1.048.487 bayta kadar (1 MiB - 89 bayt). UTF-8 temsilinin yalnızca ilk 1.500 baytı sorgular tarafından dikkate alınır.

Değer türü sıralaması

Bir sorgu, karışık türde değerlere sahip bir alan içerdiğinde, Cloud Firestore, dahili temsillere dayalı olarak belirleyici bir sıralama kullanır. Aşağıdaki liste sıralamayı gösterir:

  1. Boş değerler
  2. Boole değerleri
  3. NaN değerleri
  4. Tamsayı ve kayan nokta değerleri, sayısal sıraya göre sıralanır
  5. Tarih değerleri
  6. Metin dizesi değerleri
  7. bayt değerleri
  8. Cloud Firestore referansları
  9. Coğrafi nokta değerleri
  10. dizi değerleri
  11. Harita değerleri