Desteklenen veri türleri

Bu sayfada, Cloud Firestore tarafından desteklenen veri türleri açıklanmaktadır.

Veri türleri

Aşağıdaki tabloda, Cloud Firestore tarafından desteklenen veri türleri listelenmiştir. Aynı türdeki değerler karşılaştırılırken kullanılan sıralama düzeni de açıklanmaktadır:

Veri türü Sıralama şekli Notlar
Dizi Öğe değerlerine göre

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

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

İki dizi karşılaştırılırken her dizinin ilk öğeleri karşılaştırılır. İlk öğeler eşitse ikinci öğeler karşılaştırılır ve farklılık bulunana kadar bu işlem devam eder. Bir dizide karşılaştırılacak öğe kalmazsa ancak o noktaya kadar eşitse daha kısa olan dizi, daha uzun olan diziden önce sıralanır.

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

Boole false < true
Bayt Bayt sırası En fazla 1.048.487 bayt (1 MiB - 89 bayt). Sorgular yalnızca ilk 1.500 baytı dikkate alır.
Tarih ve saat Kronolojik Cloud Firestore içinde depolandığında yalnızca mikrosaniye cinsinden hassastır. Ek hassasiyetler aşağı yuvarlanır.
Kayan nokta sayısı Sayısal NaN ve +/-Infinity dahil olmak üzere IEEE 754'e göre 64 bit çift duyarlıklı.
Coğrafi nokta Önce enleme, sonra boylama göre Sorgulama sınırlamaları nedeniyle şu anda bu veri türünü kullanmanızı önermiyoruz. Enlem ve boylamı genellikle ayrı sayısal alanlar olarak depolamak daha iyidir. Uygulamanızın basit mesafeye dayalı coğrafi sorgulara ihtiyacı varsa Coğrafi sorgular bölümüne bakın.
Tam sayı Sayısal 64 bit, imzalı
Harita Önce anahtarlara, sonra değere göre

Bir dokümana yerleştirilmiş nesneyi ifade eder. Dizine eklendiğinde alt alanları sorgulayabilirsiniz. Bu değeri dizine ekleme işleminden hariç tutarsanız tüm alt alanlar da dizine ekleme işleminden hariç 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"} olarak kaydedilir.

Harita alanları anahtara göre sıralanır ve anahtar/değer çiftlerine göre karşılaştırılır. Önce anahtarlar, ardından değerler karşılaştırılır. İlk anahtar/değer çiftleri eşitse bir sonraki anahtar/değer çiftleri karşılaştırılır ve bu şekilde devam eder. İki haritada aynı anahtar/değer çiftleri varsa harita uzunluğu dikkate alınır. Örneğin, aşağıdaki haritalar artan düzende sıralanmıştı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"}

Boş Yok
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ı En fazla 1.048.487 bayt (1 MiB - 89 bayt). Sorgular yalnızca UTF-8 gösteriminin ilk 1.500 baytını dikkate alır.
Vector Boyuta ve ardından tek tek öğe değerlerine göre Desteklenen maksimum yerleştirme boyutu 2048'dir. Daha büyük boyutlara sahip vektörleri depolamak için boyut azaltma özelliğini kullanın.

Değer türü sıralaması

Bir sorgu, değerleri karma türde olan bir alan içerdiğinde Cloud Firestore, dahili gösterimlere dayalı olarak deterministik bir sıralama kullanır. Sıra aşağıdaki listede gösterilmiştir:

  1. Boş değerler
  2. Boole değerleri
  3. Sayısal sırada sıralanmış tam sayı ve kayan nokta değerleri
  4. Tarih değerleri
  5. Metin dizesi değerleri
  6. Bayt değerleri
  7. Cloud Firestore referanslar
  8. Coğrafi puan değerleri
  9. Dizi değerleri
  10. Vektör yerleştirmeleri
  11. Değerleri eşleme

Sayısal sıralama

Cloud Firestore, tüm sayısal değerleri (Integer ve Floating point) birbirine karıştırarak sıralar. Kayan nokta karşılaştırması, IEEE 754'ün toplam sıralamasını izler. Bununla birlikte, Cloud Firestore tüm NaN değerlerini normalleştirir ve -Infinity'den daha küçük kabul eder.