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, |
| 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, 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:
|
| 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:
- Boş değerler
- Min anahtar/değer çiftleri (yalnızca Enterprise sürümü)
- Boole değerleri
- 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.
- Tarih değerleri
- Metin dizesi değerleri
- Bayt değerleri. Enterprise sürümünde, alt tür değerlerine sahip baytlar da dahil edilir.
- Cloud Firestore referans
- ObjectId değerleri (yalnızca Enterprise sürümü)
- Coğrafi nokta değerleri
- Normal ifade (yalnızca Enterprise sürümü)
- Dizi değerleri
- Vektör yerleştirmeleri
- Değerleri eşleme
- 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.