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. Ayrıca, aynı türdeki değerler karşılaştırılırken kullanılan sıralama ölçütünü de açıklar:

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

Standard sürüm veritabanlarında bir dizi, öğelerinden biri olarak başka bir dizi değeri içeremez. Enterprise sürümü veritabanlarında bir dizi, öğelerinden biri olarak dizi değeri içerebilir.

Dizideki öğ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 bir fark bulunana kadar bu şekilde 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 öğelere sahiptir ancak daha kısadır.

Boole false < true —
Bayt Bayt sırası Standard sürüm veritabanlarında değer 1.048.487 baytı (1 MiB - 89 bayt) aşmamalıdır ve sorgular yalnızca ilk 1.500 baytı dikkate alır. Enterprise sürümü veritabanlarında, değerin boyutuyla ilgili bir sınır yoktur (doküman ve dizin girişi boyutu sınırları hariç) ve sorgular tarafından değerin tamamı dikkate alınır.
Tarih ve saat Kronolojik Cloud Firestore içinde depolandığında yalnızca mikrosaniye düzeyinde hassastır; ek hassasiyetler aşağı yuvarlanır.
Kayan nokta sayısı Sayısal IEEE 754'e göre 64 bit çift duyarlılık (normalleştirilmiş NaN ve +/-Infinity dahil).
Coğrafi nokta Enlem ve ardından boylama göre Mesafeye göre arama yapmak için Coğrafi arama başlıklı makaleyi inceleyin.
Tam sayı Sayısal 64 bit, imzalı
Harita Anahtarlara, ardından değere göre

Bir dokümana yerleştirilmiş nesneyi temsil eder. Dizine eklendikten sonra alt alanlarda sorgu yapabilirsiniz. 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 sonraki anahtar/değer çiftleri karşılaştırılır ve bu şekilde devam eder. İki eşlemenin tüm anahtar/değer çiftleri aynıysa eşleme 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 kodlamalı bayt sırası Standard sürüm veritabanlarında değer 1.048.487 baytı (1 MiB - 89 bayt) aşmamalıdır ve sorgular yalnızca ilk 1.500 baytı dikkate alır. Enterprise sürümü veritabanlarında, değerin boyutuyla ilgili bir sınır yoktur (doküman ve dizin girişi boyutu sınırları hariç) ve sorgular tarafından değerin tamamı dikkate alınır.
Vektör Boyuta ve ardından her bir öğe değerine 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, karma türlerde değerler içeren bir alan içerdiğinde Cloud Firestore, dahili gösterimlere dayalı deterministik bir sıralama kullanır. Aşağıdaki listede bu sıra gösterilmektedir:

  1. Boş değerler
  2. Boole değerleri
  3. Sayısal düzende 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 referans
  8. Coğrafi nokta 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) birbirleriyle iç içe geçmiş şekilde sıralar. Kayan nokta karşılaştırması, IEEE 754'ün toplam sıralamasını takip eder. Önemli bir istisna olarak Cloud Firestore, tüm NaN değerlerini normalleştirir ve -Infinity değerinden küçük olarak kabul eder.