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
32 bit tam sayı Sayısal

32 bit, imzalı

Not: Yalnızca Enterprise sürümünde desteklenir.

64 bit tam sayı Sayısal 64 bit, imzalı
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 edilir. 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 —
BSON zaman damgası Kronolojik

Unix saniyeleri ve artış sayacından oluşan 64 bitlik bir zaman damgası değeri.

Not: Yalnızca Enterprise sürümünde desteklenir.

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.
Alt türü olan baytlar Bayt sırası (alt tür, ardından değer)

BSON alt tür göstergesi içeren ikili bayt dizisi.

Not: Yalnızca Enterprise sürümünde desteklenir.

Tarih ve saat Kronolojik Cloud Firestore içinde depolandığında yalnızca mikrosaniye düzeyinde hassastır; ek hassasiyetler aşağı yuvarlanır.
Decimal128 Sayısal

Yüksek hassasiyetli aritmetik için 128 bit ondalık kayan noktalı sayı.

Not: Yalnızca Enterprise sürümünde desteklenir.

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.
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 bir fark bulunana kadar bu işlem 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"}

Maksimum anahtar Yok

Diğer tüm değerlerden daha yüksek olan özel değer.

Not: Yalnızca Enterprise sürümünde desteklenir.

Minimum anahtar Yok

Diğer tüm değerlerden (boş değer hariç) daha düşük olan özel değer.

Not: Yalnızca Enterprise sürümünde desteklenir.

Boş Yok —
ObjectId Bayt sırası

12 baytlık bir nesne tanımlayıcısı.

Not: Yalnızca Enterprise sürümünde desteklenir.

Referans Yol öğelerine göre (koleksiyon, belge kimliği, koleksiyon, belge kimliği...) Örneğin, projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH].
Normal ifade Desene ve ardından seçeneklere göre

Normal ifade kalıbı ve seçenekleri.

Not: Yalnızca Enterprise sürümünde desteklenir.

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. Min anahtar/değer çiftleri (yalnızca Enterprise sürümü)
  3. Boole değerleri
  4. Sayısal düzende sıralanmış 64 bit tam sayı ve kayan nokta değerleri. Enterprise sürümü veritabanlarında 32 bit tam sayı ve Decimal128 değerleri de bulunur.
  5. Tarih değerleri
  6. Metin dizesi değerleri
  7. Bayt değerleri. Enterprise sürümünde, alt tür değerlerine sahip baytlar da dahil edilir.
  8. Cloud Firestore referans
  9. ObjectId değerleri (yalnızca Enterprise sürümü)
  10. Coğrafi nokta değerleri
  11. Normal ifade (yalnızca Enterprise sürümü)
  12. Dizi değerleri
  13. Vektör yerleştirmeleri
  14. Değerleri eşleme
  15. Maksimum anahtar/değer çifti sayısı (yalnızca Enterprise sürümü)

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.