Package google.firestore.v1

Dizin

Firestore

Cloud Firestore hizmeti.

Cloud Firestore, mobil, web ve IoT uygulamaları için küresel ölçekte veri depolama, senkronize etme ve sorgulama işlemlerini kolaylaştıran hızlı, tümüyle yönetilen, sunucusuz ve bulutta yerel bir NoSQL belge veritabanıdır. İstemci kitaplığı canlı senkronizasyon ve çevrimdışı destek sunarken güvenlik özellikleri ve Firebase ile Google Cloud Platform entegrasyonları, tamamen sunucusuz uygulamalar oluşturmayı hızlandırır.

BatchGetDocuments

rpc BatchGetDocuments(BatchGetDocumentsRequest) returns (BatchGetDocumentsResponse)

Birden çok dokümanı alır.

Bu yöntemle döndürülen dokümanların istenen sırayla iade edileceği garanti edilmez.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

BatchWrite

rpc BatchWrite(BatchWriteRequest) returns (BatchWriteResponse)

Toplu yazma işlemi uygular.

BatchWrite yöntemi, yazma işlemlerini atomik olarak uygulamaz ve bunları sıra dışı bir şekilde uygulayabilir. Yöntem, belge başına birden fazla yazmaya izin vermiyor. Her yazma işlemi bağımsız olarak başarılı veya başarısız olur. Her yazma işleminin başarı durumunu görmek için BatchWriteResponse göz atın.

Atomik olarak uygulanmış bir yazma grubu gerekiyorsa bunun yerine Commit kullanın.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

BeginTransaction

rpc BeginTransaction(BeginTransactionRequest) returns (BeginTransactionResponse)

Yeni bir işlem başlatır.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

Kaydet

rpc Commit(CommitRequest) returns (CommitResponse)

İsteğe bağlı olarak belgeleri güncellerken bir işlem gerçekleştirir.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

CreateDocument

rpc CreateDocument(CreateDocumentRequest) returns (Document)

Yeni bir doküman oluşturur.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

DeleteDocument

rpc DeleteDocument(DeleteDocumentRequest) returns (Empty)

Dokümanı siler.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

GetDocument

rpc GetDocument(GetDocumentRequest) returns (Document)

Tek bir doküman alır.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

ListCollectionIds

rpc ListCollectionIds(ListCollectionIdsRequest) returns (ListCollectionIdsResponse)

Bir dokümanın altındaki tüm koleksiyon kimliklerini listeler.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

ListDocuments

rpc ListDocuments(ListDocumentsRequest) returns (ListDocumentsResponse)

Dokümanları listeler.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

Dinle

rpc Listen(ListenRequest) returns (ListenResponse)

Değişiklikleri dinler. Bu yöntem yalnızca gRPC veya WebChannel (REST değil) aracılığıyla kullanılabilir.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

PartitionQuery

rpc PartitionQuery(PartitionQueryRequest) returns (PartitionQueryResponse)

Sorguyu, paralel olarak çalıştırmak için kullanılabilecek bölüm imleçleri döndürerek bölümlere ayırır. Döndürülen bölüm imleçleri, RunQuery tarafından sorgu sonuçları için başlangıç/varış noktaları olarak kullanılabilecek bölme noktalarıdır.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

Geri alma

rpc Rollback(RollbackRequest) returns (Empty)

Bir işlemi geri çeker.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

RunAggregationQuery

rpc RunAggregationQuery(RunAggregationQueryRequest) returns (RunAggregationQueryResponse)

Toplama sorgusu çalıştırır.

Bu API, Firestore.RunQuery gibi Document sonuçları oluşturmak yerine, sunucu tarafında bir dizi AggregationResult üretmek için toplamanın çalıştırılmasına olanak tanır.

Üst Düzey Örnek:

-- Return the number of documents in table given a filter.
SELECT COUNT(*) FROM ( SELECT * FROM k where a = true );
Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

RunQuery

rpc RunQuery(RunQueryRequest) returns (RunQueryResponse)

Sorgu çalıştırır.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

UpdateDocument

rpc UpdateDocument(UpdateDocumentRequest) returns (Document)

Dokümanı günceller veya ekler.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

Yazma

rpc Write(WriteRequest) returns (WriteResponse)

Doküman güncelleme ve silme grupları toplu olarak sırayla aktarılır. Bu yöntem yalnızca gRPC veya WebChannel (REST değil) aracılığıyla kullanılabilir.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için Kimlik Doğrulamaya Genel Bakış sayfasına göz atın.

AggregationResult

Firestore toplama sorgusundaki tek bir paketin sonucudur.

Her sonuç için farklı alanlar bulunabilen doküman sorgularının aksine, aggregate_fields anahtarları, toplama sorgusundaki tüm sonuçlar için aynıdır.

Alanlar
aggregate_fields

map<string, Value>

Toplama işlevlerinin sonucu, ör. COUNT(*) AS total_docs.

Anahtar, girişte toplama işlevine atanan alias değeridir ve bu haritanın boyutu, sorgudaki toplama işlevlerinin sayısına eşittir.

ArrayValue

Dizi değeri.

Alanlar
values[]

Value

Dizideki değerler.

BatchGetDocumentsRequest

Firestore.BatchGetDocuments isteği.

Alanlar
database

string

Zorunlu. Veritabanı adı. Biçimi: projects/{project_id}/databases/{database_id}.

documents[]

string

Alınacak dokümanların adları. Biçimi: projects/{project_id}/databases/{database_id}/documents/{document_path}. Belgelerden herhangi biri, belirtilen database öğesinin alt kaynağı değilse istek başarısız olur. Yinelenen adlar çıkarılır.

mask

DocumentMask

Döndürülecek alanlar. Ayarlanmazsa tüm alanları döndürür.

Bir dokümanın bu maskede bulunmayan bir alanı varsa o alan yanıtta döndürülmez.

Birleştirme alanı consistency_selector. Bu işlem için tutarlılık modu. Politika ayarlanmazsa varsayılan olarak güçlü tutarlılık sağlanır. consistency_selector şunlardan yalnızca biri olabilir:
transaction

bytes

Bir işlemdeki belgeleri okur.

new_transaction

TransactionOptions

Yeni bir işlem başlatır ve dokümanları okur. Varsayılan olarak işlem salt okunurdur. Yeni işlem kimliği, akışta ilk yanıt olarak döndürülür.

read_time

Timestamp

Dokümanları verilen zaman olduğu gibi okur.

Bu, son 1 saat içindeki bir mikrosaniye hassasiyetli zaman damgası olmalıdır veya Belirli Bir Noktadan Kurtarma özelliği etkinleştirilmişse son 7 gün içindeki tam bir dakikalık zaman damgası da olabilir.

BatchGetDocumentsResponse

Firestore.BatchGetDocuments için akış yanıtı.

Alanlar
transaction

bytes

Bu isteğin bir parçası olarak başlatılan işlem. Yalnızca ilk yanıtta ve istekte BatchGetDocumentsRequest.new_transaction ayarlanmışsa ayarlanır.

read_time

Timestamp

Belgenin okunduğu saat. Bu artış tek bir şekilde artabilir. Bu durumda, sonuç akışındaki önceki dokümanların, read_time ile bu zaman arasında değişmemesi garanti edilir.

Birleştirme alanı result. Tek bir sonuç. Sunucu sadece bir işlem döndürüyorsa bu alan boş olabilir. result şunlardan yalnızca biri olabilir:
found

Document

İstenen bir belge.

missing

string

İstenen ancak mevcut olmayan bir belge adı. Biçimi: projects/{project_id}/databases/{database_id}/documents/{document_path}.

BatchWriteRequest

Firestore.BatchWrite isteği.

Alanlar
database

string

Zorunlu. Veritabanı adı. Biçimi: projects/{project_id}/databases/{database_id}.

writes[]

Write

Uygulanacak yazmalar.

Yöntem, yazma işlemlerini atomik olarak uygulamaz ve sıralamayı garanti etmez. Her yazma işlemi bağımsız olarak başarılı veya başarısız olur. Aynı dokümana istek başına birden fazla kez yazamazsınız.

labels

map<string, string>

Bu toplu yazma işlemiyle ilişkili etiketler.

BatchWriteResponse

Firestore.BatchWrite adlı kullanıcının yanıtı.

Alanlar
write_results[]

WriteResult

Yazmalar uygulandığında elde edilen sonuç.

Bu yazma sonucu, istekteki son yazma işlemine karşılık gelir.

status[]

Status

Yazmaların uygulanma durumu.

Bu yazma durumu, istekteki son yazma işlemine karşılık gelir.

BeginTransactionRequest

Firestore.BeginTransaction isteği.

Alanlar
database

string

Zorunlu. Veritabanı adı. Biçimi: projects/{project_id}/databases/{database_id}.

options

TransactionOptions

İşlemle ilgili seçenekler. Varsayılan olarak okuma-yazma işlemi kullanılır.

BeginTransactionResponse

Firestore.BeginTransaction için yanıt.

Alanlar
transaction

bytes

Başlatılan işlem.

BitSequence

Bayt dizisi halinde kodlanmış bir bit dizisi.

bitmap bayt dizisindeki her bayt, dizinin 8 bitini depolar. Bunun tek istisnası son bayttır. Bu bayt, 8 veya daha az bit depolayabilir. padding, "dolgu" olarak yoksayılacak son baytın bit sayısını tanımlar. Bu "dolgu" bitlerinin değerleri belirtilmemiştir ve yoksayılmalıdır.

İlk bit olan 0'ı almak için şu hesaplamayı yapın: (bitmap[0] & 0x01) != 0. İkinci bit olan 1. biti almak için şu hesaplamayı yapın: (bitmap[0] & 0x02) != 0. Üçüncü bit 2'yi almak için şu hesaplamayı yapın: (bitmap[0] & 0x04) != 0. Dördüncü bit 3'ü almak için şu hesaplamayı yapın: (bitmap[0] & 0x08) != 0. Bit n'yi almak için şu hesaplamayı yapın: (bitmap[n / 8] & (0x01 << (n % 8))) != 0.

BitSequence öğesinin "boyutu" (içerdiği bit sayısı) şu formülle hesaplanır: (bitmap.length * 8) - padding.

Alanlar
bitmap

bytes

Bit dizisini kodlayan baytlardır. Uzunluğu sıfır olabilir.

padding

int32

bitmap içindeki son baytın "dolgu" olarak yoksayılacak bit sayısı. bitmap uzunluğu sıfırsa bu değer 0 olmalıdır. Aksi takdirde, bu değer 0 ile 7 (ikisi de dahil) arasında olmalıdır.

BloomFilter

Çiçek filtresi (https://en.wikipedia.org/wiki/Bloom_filter).

Çiçek filtresi, girişlere MD5 ile karma oluşturma işlemi uygular ve sonuçta ortaya çıkan 128 bitlik karmayı 2 farklı 64 bit karma değeri olarak işler ve bu değerler, 2'nin tamamlayıcı kodlaması kullanılarak imzalanmamış tamsayılar olarak yorumlanır.

h1 ve h2 adlı bu iki karma değeri, daha sonra formülü kullanarak i=0'den başlayarak hash_count karma değerlerini hesaplamak için kullanılır:

h(i) = h1 + (i * h2)

Sonuç olarak elde edilen bu değerler, verilen giriş için test etmek üzere çiçek filtresinin bitlerini almak üzere çiçek filtresindeki bit sayısı modülü olarak alınır.

Alanlar
bits

BitSequence

Çiçek filtresi verileri.

hash_count

int32

Algoritma tarafından kullanılan karmaların sayısı.

CommitRequest

Firestore.Commit isteği.

Alanlar
database

string

Zorunlu. Veritabanı adı. Biçimi: projects/{project_id}/databases/{database_id}.

writes[]

Write

Uygulanacak yazmalar.

Her zaman anatomik olarak ve sırayla yürütülür.

transaction

bytes

Ayarlanırsa bu işlemdeki tüm yazma işlemlerini uygular ve kaydeder.

CommitResponse

Firestore.Commit için yanıt.

Alanlar
write_results[]

WriteResult

Yazmalar uygulandığında elde edilen sonuç.

Bu yazma sonucu, istekteki son yazma işlemine karşılık gelir.

commit_time

Timestamp

Kaydetmenin gerçekleştiği saat. Eşit veya daha yüksek read_time değerine sahip tüm okumalar, kaydetmenin etkilerini görür.

CreateDocumentRequest

Firestore.CreateDocument isteği.

Alanlar
parent

string

Zorunlu. Üst kaynak. Örneğin, projects/{project_id}/databases/{database_id}/documents veya projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}

collection_id

string

Zorunlu. parent ile göreli olarak listelenecek koleksiyon kimliği. Örneğin: chatrooms.

document_id

string

Bu doküman için kullanılacak, istemci tarafından atanan doküman kimliği.

İsteğe bağlı. Belirtilmezse, hizmet tarafından bir kimlik atanır.

document

Document

Zorunlu. Oluşturulacak doküman. name ayarlanmamalıdır.

mask

DocumentMask

Döndürülecek alanlar. Ayarlanmazsa tüm alanları döndürür.

Dokümanın bu maskede bulunmayan bir alanı varsa o alan yanıtta döndürülmez.

İmleç

Sorgu sonucu kümesindeki bir konum.

Alanlar
values[]

Value

Bir konumu ifade eden, sorgunun her bir yan tümcesine göre sıralanmış olarak görünen değerler.

Yan cümleye göre sıralamada belirtilenden daha az değer içerebilir.

before

bool

Konum, sorgu tarafından tanımlanan sıralama düzenine göre verilen değerlerden hemen önce veya hemen sonraysa.

DeleteDocumentRequest

Firestore.DeleteDocument isteği.

Alanlar
name

string

Zorunlu. Silinecek Dokümanın kaynak adı. Biçimi: projects/{project_id}/databases/{database_id}/documents/{document_path}.

current_document

Precondition

Dokümandaki isteğe bağlı bir ön koşul. Bu değer ayarlanırsa ve hedef doküman tarafından karşılanmazsa istek başarısız olur.

Doküman

Firestore dokümanı.

1 MiB - 4 bayttan büyük olmamalıdır.

Alanlar
name

string

Belgenin kaynak adı. Örneğin, projects/{project_id}/databases/{database_id}/documents/{document_path}.

fields

map<string, Value>

create_time

Timestamp

Yalnızca çıkış. Dokümanın oluşturulduğu saat.

Bir doküman silinip yeniden oluşturulduğunda bu değer tekdüze şekilde artar. Ayrıca, diğer dokümanlardaki değerlerle ve bir sorgunun read_time ile karşılaştırılabilir.

update_time

Timestamp

Yalnızca çıkış. Dokümanın en son değiştirildiği saat.

Bu değer başlangıçta create_time olarak ayarlanır, daha sonra dokümanda yapılan her değişiklikle tekdüze şekilde artar. Ayrıca, diğer dokümanlardaki değerlerle ve bir sorgunun read_time ile karşılaştırılabilir.

DocumentChange

Bir Document değişti.

Silme işlemleri de dahil olmak üzere, Document için yeni bir değerle sonuçlanan birden fazla writes sonucu olabilir.

Birden fazla hedef etkileniyorsa aynı mantıksal değişiklik için birden fazla DocumentChange mesajı döndürülebilir.

Alanlar
document

Document

Document öğesinin yeni durumu.

mask ayarlanırsa yalnızca güncellenen veya eklenen alanları içerir.

target_ids[]

int32

Bu dokümanla eşleşen hedeflerin hedef kimlikleri grubu.

removed_target_ids[]

int32

Artık bu dokümanla eşleşmeyen hedeflerin bir hedef kimlikleri grubu.

DocumentDelete

Bir Document silindi.

Güncellemeler de dahil olmak üzere, son olarak Document öğesini silen birden fazla writes sonucu olabilir.

Birden fazla hedef etkilendiyse aynı mantıksal silme işlemi için birden fazla DocumentDelete mesajı döndürülebilir.

Alanlar
document

string

Silinen Document kaynağının adı.

removed_target_ids[]

int32

Daha önce bu varlıkla eşleşen hedeflerin hedef kimlikleri grubu.

read_time

Timestamp

Silme işleminin gözlemlendiği okuma zaman damgası.

Silme işleminin commit_time değerinden büyük veya ona eşit.

DocumentMask

Bir dokümandaki alan yolları grubu. Bir dokümandaki alma veya güncelleme işlemini, alanlarının bir alt kümesiyle kısıtlamak için kullanılır. Kapsamı her zaman Document kapsamına alındığından ve Value maskesinin dinamik doğasını dikkate aldığından bu, standart alan maskelerinden farklıdır.

Alanlar
field_paths[]

string

Maskedeki alan yollarının listesi. Alan yolu söz dizimi referansı için Document.fields bölümüne bakın.

DocumentRemove

Hedeflerin görünümünden bir Document kaldırıldı.

Belge artık bir hedefle alakalı değilse ve görünümün dışındaysa gönderilir. Sunucu, dokümanın yeni değerini gönderemezse bir DocumentDelete veya DocumentChange yerine gönderilebilir.

Birden fazla hedef etkileniyorsa aynı mantıksal yazma veya silme işlemi için birden fazla DocumentRemove mesajı döndürülebilir.

Alanlar
document

string

Görünümden kaldırılan Document kaynak adı.

removed_target_ids[]

int32

Bu dokümanla daha önce eşleşen hedeflerin hedef kimlikleri grubu.

read_time

Timestamp

Kaldırma işleminin gözlemlendiği okuma zaman damgası.

Değişiklik/silme/kaldırma işleminin commit_time değerinden büyük veya bu değere eşit.

DocumentTransform

Bir belgenin dönüşümü.

Alanlar
document

string

Dönüştürülecek dokümanın adı.

field_transforms[]

FieldTransform

Sırayla dokümanın alanlarına uygulanacak dönüşümlerin listesi. Bu alan boş bırakılamaz.

FieldTransform

Belgedeki bir alanın dönüşümü.

Alanlar
field_path

string

Alanın yolu. Alan yolu söz dizimi referansı için Document.fields bölümüne bakın.

Birleştirme alanı transform_type. Sahaya uygulanacak dönüşüm. transform_type şunlardan yalnızca biri olabilir:
set_to_server_value

ServerValue

Alanı verilen sunucu değerine ayarlar.

increment

Value

Verilen değeri alanın mevcut değerine ekler.

Bu bir tam sayı veya çift değer olmalıdır. Alan bir tam sayı veya çift değilse ya da alan henüz mevcut değilse dönüşüm işlemi, alanı verilen değere ayarlar. Verilen değerden veya mevcut alan değerinden biri çiftse her iki değer de çift sayı olarak yorumlanır. IEEE 754 semantiği, çift aritmetik ve çift değerlerin gösterimi için geçerlidir. Pozitif/negatif tam sayı taşması varsa alan, en büyük pozitif/negatif tam sayıya çözümlenir.

maximum

Value

Alanı, mevcut değerinin ve verilen değerin maksimum değerine ayarlar.

Bu bir tam sayı veya çift değer olmalıdır. Alan bir tam sayı veya çift değilse ya da alan henüz mevcut değilse dönüşüm işlemi, alanı verilen değere ayarlar. Alanın ve giriş değerinin karışık türde (yani, biri tam sayı, diğeri çift olduğunda) maksimum işlem uygulanırsa alan, daha büyük işlenenin türünü alır. İşlem görenler eşdeğerse (ör. 3 ve 3,0) alan değişmez. 0, 0,0 ve -0,0'ın tamamı sıfırdır. Sıfır depolanan değer ve sıfır giriş değerinin maksimum değeri her zaman kayıtlı değerdir. x ve NaN sayısal değerlerinin maksimum değeri NaN'dir.

minimum

Value

Alanı, mevcut değerinin ve verilen değerin en düşük değerine ayarlar.

Bu bir tam sayı veya çift değer olmalıdır. Alan bir tam sayı veya çift değilse ya da alan henüz mevcut değilse dönüşüm işlemi, alanı giriş değerine ayarlar. Alanın ve giriş değerinin karışık türde (biri tam sayı, diğeri çift sayı) olduğu minimum işlem uygulanırsa alan, daha küçük işlenenin türünü alır. İşlem görenler eşdeğerse (ör. 3 ve 3,0) alan değişmez. 0, 0,0 ve -0,0'ın tamamı sıfırdır. Minimum değer sıfır ve sıfır giriş değeri her zaman kayıtlı değerdir. x ve NaN sayısal değerlerinin minimum değeri NaN'dir.

append_missing_elements

ArrayValue

Belirtilen alan değerinde zaten mevcut değillerse verilen öğeleri sırayla ekleyin. Alan bir dizi değilse veya alan henüz mevcut değilse öncelikle boş dizi olarak ayarlanır.

Bir değerin eksik olup olmadığı kontrol edilirken farklı türlerdeki eşdeğer sayılar (ör. 3L ve 3,0) eşit kabul edilir. NaN, NaN'ye, Null ise Null'a eşittir. Giriş birden çok eşdeğer değer içeriyorsa yalnızca ilki dikkate alınır.

Karşılık gelen conversion_result null değer olacaktır.

remove_all_from_array

ArrayValue

Verilen öğelerin tümünü alandaki diziden kaldırın. Alan bir dizi değilse veya alan henüz mevcut değilse boş dizi olarak ayarlanır.

Bir öğenin kaldırılıp kaldırılmayacağına karar verilirken farklı türlerin eşdeğer sayıları (ör. 3L ve 3,0) eşit olarak kabul edilir. NaN, NaN'ye, Null ise Null'a eşittir. Yinelenen öğeler varsa bu işlem tüm eşdeğer değerleri kaldırır.

Karşılık gelen conversion_result null değer olacaktır.

ServerValue

Sunucu tarafından hesaplanan bir değerdir.

Sıralamalar
SERVER_VALUE_UNSPECIFIED Belirtilmedi. Bu değer kullanılmamalıdır.
REQUEST_TIME Sunucunun isteği milisaniyelik hassasiyetle işlediği saat. Bir işlemde birden fazla alanda (aynı veya farklı dokümanlar) kullanılırsa tüm alanlara aynı sunucu zaman damgası verilir.

ExecutionStats

Sorgunun yürütme istatistikleri.

Alanlar
results_returned

int64

Dokümanlar, projeksiyonlar, toplama sonuçları ve anahtarlar dahil olmak üzere döndürülen toplam sonuç sayısı.

execution_duration

Duration

Sorguyu arka uçta yürütmek için geçen toplam süre.

read_operations

int64

Toplam faturalandırılabilir okuma işlemi sayısı.

debug_stats

Struct

Sorgunun yürütülmesinden itibaren istatistiklerde hata ayıklama. Hata ayıklama istatistiklerinin Firestore geliştikçe değişebileceğini unutmayın. It could include: { "indexes_entries_scanned": "1000", "documents_scanned": "20", "billing_details" : { "documents_billable": "20", "index_entries_billable": "1000", "min_query_cost": "0" } }

ExistenceFilter

Belirli bir hedefle eşleşen tüm belgelerin özeti.

Alanlar
target_id

int32

Bu filtrenin uygulanacağı hedef kimlik.

count

int32

target_id ile eşleşen dokümanların toplam sayısı.

İstemcideki, eşleşen dokümanların sayısından farklıysa istemci hangi belgelerin artık hedefle eşleşmediğini manuel olarak belirlemelidir.

İstemci unchanged_names çiçek filtresini bu tespite yardımcı olmak için TÜM doküman adlarını filtreyle karşılaştırarak test edebilir. Doküman adı filtrede DEĞİLSE bu, dokümanın artık hedefle eşleşmediği anlamına gelir.

unchanged_names

BloomFilter

Adına rağmen, target_id ile eşleşen TÜM dokümanların kaynak adlarının UTF-8 bayt kodlamalarını projects/{project_id}/databases/{database_id}/documents/{document_path} biçiminde içeren bir çiçek açma filtresi.

Bu çiçek filtresi, sunucunun tercihine bağlı olarak, örneğin istemcinin bunu kullanmayacağına karar verilirse veya hesaplama açısından hesaplanmak ya da iletmek için fazla pahalıysa atlanabilir. İstemciler, bu alan mevcut olmadan önce kullanılan mantığa dönerek bu alanın eksik olduğunu sorunsuz şekilde ele almalıdır. Bir başka deyişle, istemcinin önbelleğindeki hangi dokümanların senkronize olmadığını anlamak için hedefi, devam ettirme jetonu olmadan yeniden eklemelidir.

ExplainMetrics

Sorgunun metriklerini açıklayın.

Alanlar
plan_summary

PlanSummary

Sorgunun planlama aşaması bilgileri.

execution_stats

ExecutionStats

Sorgunun yürütülmesinden elde edilen toplu istatistikler. Yalnızca ExplainOptions.analyze doğru değerine ayarlandığında mevcut olur.

ExplainOptions

Sorguyla ilgili seçenekleri açıklayın.

Alanlar
analyze

bool

İsteğe bağlı. Bu sorgunun yürütülüp yürütülmeyeceği.

Yanlış olduğunda (varsayılan) sorgu planlanır ve yalnızca planlama aşamalarındaki metrikler döndürülür.

Doğru olduğunda sorgu planlanır ve yürütülür, hem planlama hem de yürütme aşaması metrikleriyle birlikte tam sorgu sonuçları döndürülür.

GetDocumentRequest

Firestore.GetDocument isteği.

Alanlar
name

string

Zorunlu. Alınacak Dokümanın kaynak adı. Biçimi: projects/{project_id}/databases/{database_id}/documents/{document_path}.

mask

DocumentMask

Döndürülecek alanlar. Ayarlanmazsa tüm alanları döndürür.

Dokümanın bu maskede bulunmayan bir alanı varsa o alan yanıtta döndürülmez.

Birleştirme alanı consistency_selector. Bu işlem için tutarlılık modu. Politika ayarlanmazsa varsayılan olarak güçlü tutarlılık sağlanır. consistency_selector şunlardan yalnızca biri olabilir:
transaction

bytes

Bir işlemde dokümanı okur.

read_time

Timestamp

Belgenin belirtilen zamandaki sürümünü okur.

Bu, son 1 saat içindeki bir mikrosaniye hassasiyetli zaman damgası olmalıdır veya Belirli Bir Noktadan Kurtarma özelliği etkinleştirilmişse son 7 gün içindeki tam bir dakikalık zaman damgası da olabilir.

ListCollectionIdsRequest

Firestore.ListCollectionIds isteği.

Alanlar
parent

string

Zorunlu. Üst doküman. Biçimi: projects/{project_id}/databases/{database_id}/documents/{document_path}. Örneğin: projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

page_size

int32

Döndürülecek maksimum sonuç sayısı.

page_token

string

Sayfa jetonu. ListCollectionIdsResponse arasında bir değer olmalıdır.

Birleştirme alanı consistency_selector. Bu istek için tutarlılık modu. Politika ayarlanmazsa varsayılan olarak güçlü tutarlılık sağlanır. consistency_selector şunlardan yalnızca biri olabilir:
read_time

Timestamp

Dokümanları verilen zaman olduğu gibi okur.

Bu, son 1 saat içindeki bir mikrosaniye hassasiyetli zaman damgası olmalıdır veya Belirli Bir Noktadan Kurtarma özelliği etkinleştirilmişse son 7 gün içindeki tam bir dakikalık zaman damgası da olabilir.

ListCollectionIdsResponse

Firestore.ListCollectionIds adlı kullanıcının yanıtı.

Alanlar
collection_ids[]

string

Koleksiyon kimlikleri.

next_page_token

string

Listeye devam etmek için kullanılabilecek bir sayfa jetonu.

ListDocumentsRequest

Firestore.ListDocuments isteği.

Alanlar
parent

string

Zorunlu. Üst kaynak adı. Biçimi: projects/{project_id}/databases/{database_id}/documents veya projects/{project_id}/databases/{database_id}/documents/{document_path}.

Örneğin, projects/my-project/databases/my-database/documents veya projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

collection_id

string

İsteğe bağlı. parent ile göreli olarak listelenecek koleksiyon kimliği.

Örneğin, chatrooms veya messages.

Bu isteğe bağlıdır. Bu belirtilmediğinde Firestore, tüm koleksiyonlardaki belgeleri sağlanan parent altında listeler.

page_size

int32

İsteğe bağlı. Tek bir yanıtta döndürülecek maksimum doküman sayısı.

Firestore bu değerden daha düşük sonuç döndürebilir.

page_token

string

İsteğe bağlı. Önceki bir ListDocuments yanıtından alınan sayfa jetonu.

Sonraki sayfayı almak için bu kodu sağlayın. Sayfalara ayırırken, diğer tüm parametreler (page_size hariç), sayfa jetonunu oluşturan istekte ayarlanan değerlerle eşleşmelidir.

order_by

string

İsteğe bağlı. İade edilecek belgelerin isteğe bağlı sıralaması.

Örneğin: priority desc, __name__ desc.

Bu, Firestore sorgularında kullanılan ancak dize gösteriminde kullanılan ORDER BY öğesini yansıtır. Yoksa belgeler __name__ ASC tarihine göre sıralanır.

mask

DocumentMask

İsteğe bağlı. Döndürülecek alanlar. Ayarlanmazsa tüm alanları döndürür.

Bir dokümanın bu maskede bulunmayan bir alanı varsa o alan yanıtta döndürülmez.

show_missing

bool

Listede eksik dokümanların gösterilip gösterilmeyeceği.

Bir doküman yoksa ancak altında iç içe yerleştirilmiş alt dokümanlar varsa eksiktir. Doğru değerine ayarlandığında bu tür eksik dokümanlar bir anahtarla döndürülür ancak create_time veya update_time alanları ayarlanmaz.

show_missing içeren isteklerde where veya order_by belirtilemez.

Birleştirme alanı consistency_selector. Bu işlem için tutarlılık modu. Politika ayarlanmazsa varsayılan olarak güçlü tutarlılık sağlanır. consistency_selector şunlardan yalnızca biri olabilir:
transaction

bytes

Okumayı etkin bir işlemin parçası olarak gerçekleştirin.

read_time

Timestamp

Okumayı belirtilen zamanda gerçekleştirin.

Bu, son 1 saat içindeki bir mikrosaniye hassasiyetli zaman damgası olmalıdır veya Belirli Bir Noktadan Kurtarma özelliği etkinleştirilmişse son 7 gün içindeki tam bir dakikalık zaman damgası da olabilir.

ListDocumentsResponse

Firestore.ListDocuments için yanıt.

Alanlar
documents[]

Document

Dokümanlar bulundu.

next_page_token

string

Dokümanların sonraki sayfasını almak için kullanılan jeton.

Bu alan atlanırsa sonraki sayfa yoktur.

ListenRequest

Firestore.Listen isteği

Alanlar
database

string

Zorunlu. Veritabanı adı. Biçimi: projects/{project_id}/databases/{database_id}.

labels

map<string, string>

Bu hedef değişikliğiyle ilişkili etiketler.

Birleştirme alanı target_change. Desteklenen hedef değişiklikleri. target_change şunlardan yalnızca biri olabilir:
add_target

Target

Bu akışa eklenecek bir hedef.

remove_target

int32

Bu akıştan kaldırılacak hedefin kimliği.

ListenResponse

Firestore.Listen için yanıt.

Alanlar
Birleştirme alanı response_type. Desteklenen yanıtlar. response_type şunlardan yalnızca biri olabilir:
target_change

TargetChange

Hedefler değişti.

document_change

DocumentChange

Bir Document değişti.

document_delete

DocumentDelete

Bir Document silindi.

document_remove

DocumentRemove

Bir Document, bir hedeften kaldırıldı (artık söz konusu hedefle alakalı olmadığından).

filter

ExistenceFilter

Belirli bir hedef için daha önce döndürülen doküman grubuna uygulanacak bir filtre.

Dokümanlar belirtilen hedeften kaldırılmış olabileceğinden ancak dokümanlar tam olarak bilinmiyorsa döndürülür.

MapValue

Harita değeri.

Alanlar
fields

map<string, Value>

Haritadaki alanlar.

Eşleme anahtarları alan adlarını temsil eder. __.*__ normal ifadesiyle eşleşen alan adları ayrılmıştır. Ayrılmış alan adlarına, belgelenmiş belirli bağlamlar haricinde izin verilmez. UTF-8 olarak gösterilen eşleme anahtarları 1.500 baytı aşmamalıdır ve boş olamaz.

PartitionQueryRequest

Firestore.PartitionQuery isteği.

Alanlar
parent

string

Zorunlu. Üst kaynak adı. Biçimi: projects/{project_id}/databases/{database_id}/documents. Doküman kaynağı adları desteklenmez; yalnızca veritabanı kaynağı adları belirtilebilir.

partition_count

int64

İstenen maksimum bölüm noktası sayısı. Bölümler, birden çok sonuç sayfasında döndürülebilir. Sayı pozitif olmalıdır. Döndürülen bölümlerin gerçek sayısı daha az olabilir.

Örneğin, bu, çalıştırılacak paralel sorgu sayısından veya bir veri ardışık düzeni işi yürütürken, kullanılabilir çalışan ya da bilgi işlem örneği sayısından bir daha az olacak şekilde ayarlanabilir.

page_token

string

Ek sonuç grubu almak için kullanılabilecek olan önceki bir PartitionQuery çağrısından döndürülen next_page_token değeri. Sonuç grupları arasında sıralama garantisi verilmez. Bu nedenle, birden fazla sonuç kümesi kullanmak, farklı sonuç kümelerini birleştirmek gerektirir.

Örneğin, page_token kullanılarak art arda yapılan iki çağrı şu sonucu döndürebilir:

  • imleç B, imleç M, imleç Q
  • imleç A, imleç U, imleç W

BölümSorgusu'na sağlanan sorgunun sonuçlarına göre sıralanmış tam bir sonuç kümesi elde etmek için, sonuç kümeleri birleştirilmelidir: imleç A, imleç B, imleç M, imleç Q, imleç U, imleç W

page_size

int32

Bu çağrıda döndürülecek maksimum bölüm sayısı (partition_count şartlarına tabidir.)

Örneğin, partition_count = 10 ve page_size = 8 ise PartitionQuery'ye yapılan ilk çağrı, 8 bölümlendirme ve daha fazla sonuç varsa bir next_page_token döndürür. PartitionQuery'ye yapılan ikinci bir çağrı, partition_count politikasında belirtilen toplam 10 bölümlendirmeyi tamamlamak üzere en fazla 2 bölümlendirme döndürür.

Birleştirme alanı query_type. Bölümlendirilecek sorgu. query_type şunlardan yalnızca biri olabilir:
structured_query

StructuredQuery

Yapılandırılmış bir sorgudur. Sorgu, tüm alt öğeleri içeren koleksiyonu belirtmeli ve artan ada göre sıralanmalıdır. Diğer filtreler, sıralama ölçütleri, sınırlar, ofsetler ve başlangıç/bitiş imleçleri desteklenmez.

Birleştirme alanı consistency_selector. Bu istek için tutarlılık modu. Politika ayarlanmazsa varsayılan olarak güçlü tutarlılık sağlanır. consistency_selector şunlardan yalnızca biri olabilir:
read_time

Timestamp

Dokümanları verilen zaman olduğu gibi okur.

Bu, son 1 saat içindeki bir mikrosaniye hassasiyetli zaman damgası olmalıdır veya Belirli Bir Noktadan Kurtarma özelliği etkinleştirilmişse son 7 gün içindeki tam bir dakikalık zaman damgası da olabilir.

PartitionQueryResponse

Firestore.PartitionQuery için yanıt.

Alanlar
partitions[]

Cursor

Bölüm sonuçları. Her bölüm, RunQuery tarafından sorgu sonuçları için başlangıç veya bitiş noktası olarak kullanılabilen bir bölme noktasıdır. RunQuery istekleri, bu PartitionQuery isteğine sağlanan sorguyla yapılmalıdır. Bölüm imleçleri, PartitionQuery'ye sağlanan sorgunun sonuçlarıyla aynı sıralamaya göre sıralanır.

Örneğin, bir BölümtionQuery isteği A ve B bölüm imleçlerini döndürürse aşağıdaki üç sorgunun çalıştırılması orijinal sorgunun tüm sonuç kümesini döndürür:

  • sorgu, A bitişinde
  • sorgu, A'nın başında, B bitişinde
  • sorgu, B başlangıcında

Boş sonuç, sorguda bölümlendirmek için çok az sonuç olduğunu veya sorgunun bölümlendirme için henüz desteklenmediğini gösterebilir.

next_page_token

string

PartitionQuery isteğinde partition_count tarafından belirtilen sayıya kadar, ek bir sonuç grubu istemek için kullanılabilecek bir sayfa jetonu. Boş bırakılırsa başka sonuç yok.

PlanSummary

Sorgunun planlama aşaması bilgileri.

Alanlar
indexes_used[]

Struct

Sorgu için seçilen dizinler. For example: [ {"query_scope": "Collection", "properties": "(foo ASC, name ASC)"}, {"query_scope": "Collection", "properties": "(bar ASC, name ASC)"} ]

Precondition

Koşullu işlemler için kullanılan, belgedeki bir ön koşul.

Alanlar
Birleştirme alanı condition_type. Ön koşul türü. condition_type şunlardan yalnızca biri olabilir:
exists

bool

true olarak ayarlandığında hedef dokümanın mevcut olması gerekir. false olarak ayarlandığında hedef doküman mevcut olmamalıdır.

update_time

Timestamp

Ayarlandığında hedef dokümanın mevcut olması ve o tarihte en son güncellenmiş olması gerekir. Zaman damgası, mikrosaniye hizalı olmalıdır.

RollbackRequest

Firestore.Rollback isteği.

Alanlar
database

string

Zorunlu. Veritabanı adı. Biçimi: projects/{project_id}/databases/{database_id}.

transaction

bytes

Zorunlu. Geri alınacak işlem.

RunAggregationQueryRequest

Firestore.RunAggregationQuery isteği.

Alanlar
parent

string

Zorunlu. Üst kaynak adı. Biçimi: projects/{project_id}/databases/{database_id}/documents veya projects/{project_id}/databases/{database_id}/documents/{document_path}. Örneğin: projects/my-project/databases/my-database/documents veya projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

explain_options

ExplainOptions

İsteğe bağlı. Sorguyla ilgili seçenekleri açıklayın. Ayarlanırsa ek sorgu istatistikleri döndürülür. Aksi takdirde, yalnızca sorgu sonuçları döndürülür.

Birleştirme alanı query_type. Çalıştırılacak sorgu. query_type şunlardan yalnızca biri olabilir:
structured_aggregation_query

StructuredAggregationQuery

Toplama sorgusu.

Birleştirme alanı consistency_selector. Sorgu için tutarlılık modu varsayılan olarak güçlü tutarlılığa ayarlanır. consistency_selector şunlardan yalnızca biri olabilir:
transaction

bytes

Toplamayı zaten etkin olan bir işlem içinde çalıştırın.

Buradaki değer, sorgunun yürütüleceği opak işlem kimliğidir.

new_transaction

TransactionOptions

Sorgu kapsamında yeni bir işlem başlatır ve varsayılan olarak salt okunurdur.

Yeni işlem kimliği, akışta ilk yanıt olarak döndürülür.

read_time

Timestamp

Sorguyu belirtilen zaman damgasında yürütür.

Bu, son 1 saat içindeki bir mikrosaniye hassasiyetli zaman damgası olmalıdır veya Belirli Bir Noktadan Kurtarma özelliği etkinleştirilmişse son 7 gün içindeki tam bir dakikalık zaman damgası da olabilir.

RunAggregationQueryResponse

Firestore.RunAggregationQuery için yanıt.

Alanlar
result

AggregationResult

Tek bir toplama sonucu.

Kısmi ilerleme bildirilirken mevcut değildir.

transaction

bytes

Bu isteğin bir parçası olarak başlatılan işlem.

Yalnızca istek yeni bir işlem başlatma isteğinde bulunduğunda ilk yanıtta mevcut olur.

read_time

Timestamp

Toplam sonucun hesaplandığı zaman. Bu değer her zaman tekdüze artmaktadır. Bu durumda, sonuç akışındaki önceki AggregationResult öğesinin read_time ve bu değer arasında değişmemesi garanti edilir.

Sorgu hiçbir sonuç döndürmezse read_time içeren ve result içermeyen bir yanıt gönderilir ve bu, sorgunun çalıştırıldığı zamanı temsil eder.

explain_metrics

ExplainMetrics

Sorgu açıklama metrikleri. Bu yalnızca RunAggregationQueryRequest.explain_options sağlandığında mevcuttur ve akıştaki son yanıtla birlikte yalnızca bir kez gönderilir.

RunQueryRequest

Firestore.RunQuery isteği.

Alanlar
parent

string

Zorunlu. Üst kaynak adı. Biçimi: projects/{project_id}/databases/{database_id}/documents veya projects/{project_id}/databases/{database_id}/documents/{document_path}. Örneğin: projects/my-project/databases/my-database/documents veya projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

explain_options

ExplainOptions

İsteğe bağlı. Sorguyla ilgili seçenekleri açıklayın. Ayarlanırsa ek sorgu istatistikleri döndürülür. Aksi takdirde, yalnızca sorgu sonuçları döndürülür.

Birleştirme alanı query_type. Çalıştırılacak sorgu. query_type şunlardan yalnızca biri olabilir:
structured_query

StructuredQuery

Yapılandırılmış bir sorgudur.

Birleştirme alanı consistency_selector. Bu işlem için tutarlılık modu. Politika ayarlanmazsa varsayılan olarak güçlü tutarlılık sağlanır. consistency_selector şunlardan yalnızca biri olabilir:
transaction

bytes

Sorguyu etkin bir işlem içinde çalıştırın.

Buradaki değer, sorgunun yürütüleceği opak işlem kimliğidir.

new_transaction

TransactionOptions

Yeni bir işlem başlatır ve dokümanları okur. Varsayılan olarak işlem salt okunurdur. Yeni işlem kimliği, akışta ilk yanıt olarak döndürülür.

read_time

Timestamp

Dokümanları verilen zaman olduğu gibi okur.

Bu, son 1 saat içindeki bir mikrosaniye hassasiyetli zaman damgası olmalıdır veya Belirli Bir Noktadan Kurtarma özelliği etkinleştirilmişse son 7 gün içindeki tam bir dakikalık zaman damgası da olabilir.

RunQueryResponse

Firestore.RunQuery için yanıt.

Alanlar
transaction

bytes

Bu isteğin bir parçası olarak başlatılan işlem. Yalnızca ilk yanıtta ve yalnızca istekte RunQueryRequest.new_transaction ayarlanmışsa ayarlanabilir. Ayarlanırsa bu yanıtta başka alan ayarlanmaz.

document

Document

Kısmi ilerleme bildirilirken ayarlanmayan bir sorgu sonucu.

read_time

Timestamp

Belgenin okunduğu saat. Bu artış tekdüze olabilir. Bu durumda, sonuç akışındaki önceki dokümanların read_time ve bu doküman arasında değişmemesi garanti edilir.

Sorgu hiçbir sonuç döndürmezse read_time içeren ve document içermeyen bir yanıt gönderilir ve bu, sorgunun çalıştırıldığı zamanı temsil eder.

skipped_results

int32

Son yanıt ile geçerli yanıt arasındaki ofset nedeniyle atlanan sonuç sayısı.

explain_metrics

ExplainMetrics

Sorgu açıklama metrikleri. Bu yalnızca RunQueryRequest.explain_options sağlandığında mevcuttur ve akıştaki son yanıtla birlikte yalnızca bir kez gönderilir.

Birleştirme alanı continuation_selector. Sorgu için devam modu. Varsa geçerli sorgu yanıtı akışının bittiğini belirtir. Bu, document mevcut olduğunda veya olmadığında ayarlanabilir. Ancak, ayarlandığında başka sonuç döndürülmez. continuation_selector şunlardan yalnızca biri olabilir:
done

bool

Mevcutsa, Firestore isteği tamamen tamamlamıştır ve başka doküman döndürülmeyecektir.

StructuredAggregationQuery

StructuredQuery üzerinden toplama çalıştırmak için kullanılan Firestore sorgusu.

Alanlar
aggregations[]

Aggregation

İsteğe bağlı. structured_query sonuçları üzerine uygulanacak toplama dizisi.

Gereken:

  • Sorgu başına en az bir, en fazla beş toplama.
Birleştirme alanı query_type. Toplanacak temel sorgu. query_type şunlardan yalnızca biri olabilir:
structured_query

StructuredQuery

İç içe yerleştirilmiş yapılandırılmış sorgu.

Toplama

Tek bir sonuç üreten bir toplama tanımlar.

Alanlar
alias

string

İsteğe bağlı. Toplama sonucunun depolanacağı alanın isteğe bağlı adı.

Belirtilmezse Firestore field_<incremental_id++> biçimini izleyen varsayılan bir ad seçer. Örneğin:

AGGREGATE
  COUNT_UP_TO(1) AS count_up_to_1,
  COUNT_UP_TO(2),
  COUNT_UP_TO(3) AS count_up_to_3,
  COUNT(*)
OVER (
  ...
);

şu hale gelir:

AGGREGATE
  COUNT_UP_TO(1) AS count_up_to_1,
  COUNT_UP_TO(2) AS field_1,
  COUNT_UP_TO(3) AS count_up_to_3,
  COUNT(*) AS field_2
OVER (
  ...
);

Gereken:

  • Tüm toplama takma adlarında benzersiz olmalıdır.
  • document field name sınırlamalarına uyun.
Birleştirme alanı operator. Gerçekleştirilecek toplama türüdür, gerekli. operator şunlardan yalnızca biri olabilir:
count

Count

Sayı toplayıcı.

sum

Sum

Toplam toplayıcı.

avg

Avg

Ortalama toplayıcı.

ORT

İstenen alanın değerlerinin ortalaması.

  • Yalnızca sayısal değerler toplanır. NULL dahil olmak üzere tüm sayısal olmayan değerler atlanır.

  • Toplam değerler NaN içeriyorsa NaN değerini döndürür. Sonsuzluk matematiği, IEEE-754 standartlarına uygundur.

  • Toplam değer kümesi boşsa NULL değerini döndürür.

  • Sonucu her zaman çift duyarlıklı sayı olarak döndürür.

Alanlar
field

FieldReference

Toplama yapılacak alan.

Sayı

Sorguyla eşleşen dokümanların sayısıdır.

COUNT(*) toplama işlevi dokümanın tamamında çalıştığından alana başvuru gerektirmez.

Alanlar
up_to

Int64Value

İsteğe bağlı. Sayılacak maksimum doküman sayısıyla ilgili isteğe bağlı sınırlama.

Bu, taranacak doküman sayısı için bir üst sınır ayarlama yolu sağlar, gecikmeyi ve maliyeti sınırlar.

Belirtilmemiş ifadesi, sınır yok olarak yorumlanır.

Üst Düzey Örnek:

AGGREGATE COUNT_UP_TO(1000) OVER ( SELECT * FROM k );

Gereken:

  • Mevcut olduğunda sıfırdan büyük olmalıdır.

Toplam

İstenen alandaki değerlerin toplamı.

  • Yalnızca sayısal değerler toplanır. NULL dahil olmak üzere tüm sayısal olmayan değerler atlanır.

  • Toplam değerler NaN içeriyorsa NaN değerini döndürür. Sonsuzluk matematiği, IEEE-754 standartlarına uygundur.

  • Ayarlanmış toplam değer boşsa 0 değerini döndürür.

  • Toplanan tüm sayılar tam sayıysa ve toplam sonuç taşmıyorsa 64 bitlik bir tam sayı döndürür. Aksi takdirde, sonuç bir çift olarak döndürülür. Toplanan tüm değerler tam sayı olsa bile, 64 bit imzalı bir tam sayı içine sığmıyorsa sonucun çift sayı olarak döndürüleceğini unutmayın. Böyle bir durumda, döndürülen değer kesinliği kaybeder.

  • Alt akış gerçekleştiğinde, kayan nokta toplaması belirli bir yöntem değildir. Bu, temel değerlerde herhangi bir değişiklik yapmadan aynı sorguyu tekrar tekrar çalıştırmanın, her seferinde biraz farklı sonuçlar doğurabileceği anlamına gelir. Böyle durumlarda değerler, tam sayı ve kayan nokta sayıları olarak depolanmalıdır.

Alanlar
field

FieldReference

Toplama yapılacak alan.

StructuredQuery

Firestore sorgusu.

Sorgu aşamaları şu sırada yürütülür: 1. 2'den 2. sınır

Alanlar
select

Projection

Döndürülecek alanların isteğe bağlı alt kümesi.

Bu anahtar, sorgudan döndürülen belgeler üzerinde DocumentMask görevi görür. Ayarlanmadığında, arayanın tüm alanların döndürülmesini istediğini varsayar.

from[]

CollectionSelector

Sorgulanacak koleksiyonlar.

where

Filter

Uygulanacak filtre.

order_by[]

Order

Sorgu sonuçlarına uygulanacak sıra.

Firestore, arayanların tam sıralama veya kısmi sıralama yapmalarına ya da hiç sipariş vermemelerine olanak tanır. Firestore her durumda aşağıdaki kurallarla tutarlı bir sıralamayı garanti eder:

  • order_by, bir eşitsizlik filtresiyle kullanılan tüm alanlara referans vermek için gereklidir.
  • order_by içinde olması gereken ancak halihazırda mevcut olmayan tüm alanlar, alan adının sözlükçe sıralamasına eklenir.
  • __name__ üzerindeki bir sipariş belirtilmezse varsayılan olarak eklenir.

Alanlar, belirtilen son düzenle aynı sıralama yönüyle veya herhangi bir sıra belirtilmediyse "ASCENDING" (ASCENDING) ile eklenir. Örneğin:

  • ORDER BY a, ORDER BY a ASC, __name__ ASC olur
  • ORDER BY a DESC, ORDER BY a DESC, __name__ DESC olur
  • WHERE a > 1, WHERE a > 1 ORDER BY a ASC, __name__ ASC olur
  • WHERE __name__ > ... AND a > 1, WHERE __name__ > ... AND a > 1 ORDER BY a ASC, __name__ ASC olur
start_at

Cursor

Sorgunun başlatılacağı sonuç kümesindeki bir konumun olası ön eki.

Sonuç kümesinin sıralaması, orijinal sorgunun ORDER BY yan tümcesine bağlıdır.

SELECT * FROM k WHERE a = 1 AND b > 2 ORDER BY b ASC, __name__ ASC;

Bu sorgunun sonuçları (b ASC, __name__ ASC) etiketine göre sıralanmıştır.

İmleçler konumun tam sırasına veya ön ekine başvurabilir ancak sağlanan ORDER BY alanında bulunandan daha fazla alana başvuramaz.

Yukarıdaki örnekten devam edersek, aşağıdaki başlangıç imleçlerini eklemenin çeşitli etkileri olacaktır:

  • START BEFORE (2, /k/123): Sorguyu a = 1 AND b > 2 AND __name__ > /k/123 öncesinde başlatın.
  • START AFTER (10): Sorguyu a = 1 AND b > 10 ifadesinden hemen sonra başlatın.

Atlamak için ilk N sonucun taranmasını gerektiren OFFSET'den farklı olarak, başlatma imleci, sorgunun mantıksal bir konumda başlamasını sağlar. Bu konum, gerçek bir sonuçla eşleşmesi gerekmez. Bir sonraki dokümanı bulmak için bu konumdan ileriye doğru tarar.

Gereken:

  • Değer sayısı, ORDER BY yan tümcesinde belirtilen alan sayısından büyük olamaz.
end_at

Cursor

Sonuç kümesindeki bir konumun, sorguyu sonlandıracak potansiyel ön eki.

Bu, START_AT özelliğine benzer ancak başlangıç konumunu değil bitiş konumunu kontrol eder.

Gereken:

  • Değer sayısı, ORDER BY yan tümcesinde belirtilen alan sayısından büyük olamaz.
offset

int32

İlk sonuç döndürülmeden önce atlanacak doküman sayısı.

Bu durum WHERE, START AT ve END AT tarafından belirtilen kısıtlamalardan sonra, ancak LIMIT yan tümcesinden önce geçerlidir.

Gereken:

  • Değer belirtilmişse sıfırdan büyük veya sıfıra eşit olmalıdır.
limit

Int32Value

Döndürülecek maksimum sonuç sayısı.

Diğer tüm kısıtlamalardan sonra uygulanır.

Gereken:

  • Değer belirtilmişse sıfırdan büyük veya sıfıra eşit olmalıdır.
find_nearest

FindNearest

İsteğe bağlı. Olası en yakın komşu araması.

Diğer tüm filtre ve sıralamalardan sonra uygulanır.

Verilen sorgu vektörüne en yakın vektör gömmelerini bulur.

CollectionSelector

messages as m1 gibi bir koleksiyon seçimi.

Alanlar
collection_id

string

Koleksiyon kimliği. Ayarlandığında, yalnızca bu kimliğe sahip koleksiyonları seçer.

all_descendants

bool

Yanlış olduğunda, yalnızca RunQueryRequest öğesini içeren parent öğesinin hemen alt öğeleri olan koleksiyonları seçer. Doğru değerine ayarlandığında tüm alt koleksiyonları seçer.

CompositeFilter

Belirtilen operatörü kullanarak diğer filtreleri birleştiren bir filtre.

Alanlar
op

Operator

Birden çok filtreyi birleştirme operatörü.

filters[]

Filter

Birleştirilecek filtrelerin listesi.

Gereken:

  • En az bir filtre mevcut.

Operatör

Kompozit filtre operatörü.

Sıralamalar
OPERATOR_UNSPECIFIED Belirtilmedi. Bu değer kullanılmamalıdır.
AND Birleştirilmiş filtrelerin tümünü karşılamak için belgeler gerekir.
OR Birleştirilmiş filtrelerden en az birinin şartlarını karşılamak için belgeler gerekir.

Yön

Sıralama yönü.

Sıralamalar
DIRECTION_UNSPECIFIED Belirtilmedi.
ASCENDING Artan.
DESCENDING Azalan.

FieldFilter

Belirli bir alan üzerindeki bir filtre.

Alanlar
field

FieldReference

Filtreleme ölçütü olarak kullanılacak alan.

op

Operator

Filtrelemede kullanılacak operatör.

value

Value

Karşılaştırılacak değer.

Operatör

Alan filtresi operatörü.

Sıralamalar
OPERATOR_UNSPECIFIED Belirtilmedi. Bu değer kullanılmamalıdır.
LESS_THAN

Belirtilen field, belirtilen value değerinden küçük.

Gereken:

  • Bu field, order_by bölgesinde ilk sırada.
LESS_THAN_OR_EQUAL

Belirtilen field, belirtilen value değerinden küçük veya ona eşit.

Gereken:

  • Bu field, order_by bölgesinde ilk sırada.
GREATER_THAN

Belirtilen field, belirtilen value değerinden büyük.

Gereken:

  • Bu field, order_by bölgesinde ilk sırada.
GREATER_THAN_OR_EQUAL

Belirtilen field, belirtilen value değerinden büyük veya ona eşit.

Gereken:

  • Bu field, order_by bölgesinde ilk sırada.
EQUAL Belirtilen field, belirtilen value değerine eşit.
NOT_EQUAL

Belirtilen field, belirtilen value değerine eşit değil.

Gereken:

  • Başka NOT_EQUAL, NOT_IN, IS_NOT_NULL veya IS_NOT_NAN yok.
  • Bu field, order_by sıralamasında ilk sırada.
ARRAY_CONTAINS Verilen field, belirtilen value değerini içeren bir dizidir.
IN

Verilen field, belirtilen dizideki en az bir değere eşit.

Gereken:

  • Bu value, boş olmayan ve ayırma sınırlarına tabi olan bir ArrayValue değeri.
  • Aynı sorguda NOT_IN filtresi yok.
ARRAY_CONTAINS_ANY

Verilen field, belirtilen dizideki değerlerden herhangi birini içeren bir dizidir.

Gereken:

  • Bu value, boş olmayan ve ayırma sınırlarına tabi olan bir ArrayValue değeri.
  • Aynı ayrım içinde başka ARRAY_CONTAINS_ANY filtresi yok.
  • Aynı sorguda NOT_IN filtresi yok.
NOT_IN

field değeri belirtilen dizide değil.

Gereken:

  • Bu value, en fazla 10 değer içeren, boş olmayan bir ArrayValue.
  • Başka OR, IN, ARRAY_CONTAINS_ANY, NOT_IN, NOT_EQUAL, IS_NOT_NULL veya IS_NOT_NAN yok.
  • Bu field, order_by sıralamasında ilk sırada.

FieldReference

Bir dokümandaki alana referans, ör. stats.operations.

Alanlar
field_path

string

Dokümandaki bir alana başvuru.

Gereken:

  • Her segmentin document field name sınırlamaya uygun olduğu, noktayla ayrılmış (.) bir segment dizesi olması ZORUNLUDUR.

Filtre

Bir filtre.

Alanlar
Birleştirme alanı filter_type. Filtrenin türü. filter_type şunlardan yalnızca biri olabilir:
composite_filter

CompositeFilter

Bileşik bir filtre.

field_filter

FieldFilter

Doküman alanında bir filtre.

unary_filter

UnaryFilter

Tam olarak bir bağımsız değişken alan bir filtre.

FindNearest

En Yakın Komşular arama yapılandırması.

Alanlar
vector_field

FieldReference

Zorunlu. Arama yapılacak dizine eklenmiş bir vektör alanı. Yalnızca, boyutları query_Vektör ile eşleşen vektörler içeren belgeler döndürülebilir.

query_vector

Value

Zorunlu. Arama yaptığımız sorgu vektörü. 2048'den fazla boyutta olmayan bir vektör olmalıdır.

distance_measure

DistanceMeasure

Zorunlu. Kullanılacak mesafe ölçüsü, gereklidir.

limit

Int32Value

Zorunlu. Döndürülecek en yakın komşuların sayısı. 1.000'den fazla olmayan pozitif bir tam sayı olmalıdır.

DistanceMeasure

Vektörleri karşılaştırırken kullanılacak uzaklık ölçüsü.

Sıralamalar
DISTANCE_MEASURE_UNSPECIFIED Ayarlanmamalı.
EUCLIDEAN Vektörler arasındaki EUCLIDEAN mesafesini ölçer. Daha fazla bilgi edinmek için Öklid kavramını inceleyin
COSINE Vektörleri aralarındaki açıya göre karşılaştırır. Bu sayede, vektörlerin büyüklüğüne dayalı olmayan benzerliği ölçebilirsiniz. Daha iyi performansa sahip matematiksel eşdeğeri olan COSINE mesafesi yerine, birim normalleştirilmiş vektörlerle DOT_PRODUCT kullanmanızı öneririz. Daha fazla bilgi edinmek için Kosinüs Benzerliği bölümüne bakın.
DOT_PRODUCT Kosinüs'e benzer, ancak vektörlerin büyüklüğünden etkilenir. Daha fazla bilgi için Dot Product bölümüne bakın.

Sipariş

Alandaki bir sıralama.

Alanlar
field

FieldReference

Sıralama ölçütü olarak kullanılacak alan.

direction

Direction

Sıralama ölçütü. Varsayılan olarak ASCENDING değerine ayarlanır.

Projeksiyon

Döndürülecek belge alanlarının projeksiyonu.

Alanlar
fields[]

FieldReference

Döndürülecek alanlar.

Boş bırakılırsa tüm alanlar döndürülür. Yalnızca dokümanın adını döndürmek için ['__name__'] değerini kullanın.

UnaryFilter

Tek bir işlenene sahip bir filtre.

Alanlar
op

Operator

Uygulanacak tekli operatör.

Birleştirme alanı operand_type. Filtrenin bağımsız değişkeni. operand_type şunlardan yalnızca biri olabilir:
field

FieldReference

Operatörün uygulanacağı alan.

Operatör

Birli operatör.

Sıralamalar
OPERATOR_UNSPECIFIED Belirtilmedi. Bu değer kullanılmamalıdır.
IS_NAN Verilen field, NaN değerine eşit.
IS_NULL Verilen field, NULL değerine eşit.
IS_NOT_NAN

Verilen field, NaN değerine eşit değil.

Gereken:

  • Başka NOT_EQUAL, NOT_IN, IS_NOT_NULL veya IS_NOT_NAN yok.
  • Bu field, order_by sıralamasında ilk sırada.
IS_NOT_NULL

Verilen field, NULL değerine eşit değil.

Gereken:

  • Tek bir NOT_EQUAL, NOT_IN, IS_NOT_NULL veya IS_NOT_NAN.
  • Bu field, order_by sıralamasında ilk sırada.

Hedef

Dinlenecek bir dizi belgenin spesifikasyonu.

Alanlar
target_id

int32

Akıştaki hedefi tanımlayan hedef kimlik. Pozitif bir sayı olmalı ve sıfır olmamalıdır.

target_id 0 ise (veya belirtilmediyse) sunucu bu hedef için bir kimlik atar ve bir TargetChange::ADD etkinliğinde bunu döndürür. target_id=0 içeren bir hedef eklendikten sonra, sonraki tüm hedeflerin target_id=0 değeri de olmalıdır. target_id=0 içeren bir hedef eklendikten sonra sunucuya target_id != 0 içeren bir AddTarget isteği gönderilirse sunucu hemen TargetChange::Remove etkinliğiyle bir yanıt gönderir.

İstemci, kimlik olmadan birden fazla AddTarget isteği gönderirse TargetChage.target_ids içinde döndürülen kimliklerin sırasının tanımlanmadığını unutmayın. Bu nedenle, istemciler, atama yapması için sunucuya güvenmek yerine, bir hedef kimlik sağlamalıdır.

target_id sıfır değilse bu akışta aynı kimliğe sahip etkin bir hedef bulunmamalıdır.

once

bool

Güncel ve tutarlı olduktan sonra hedefin kaldırılması gerekip gerekmediği.

expected_count

Int32Value

Sürdürme jetonunda veya okuma zamanında sorguyla en son eşleşen dokümanların sayısı.

Bu değer yalnızca resume_type sağlandığında geçerlidir. Bu değerin mevcut olması ve sıfırdan büyük olması, istemcinin ExistenceFilter.unchanged_names değerinin yanıta dahil edilmesini istediği anlamına gelir.

Birleştirme alanı target_type. Dinlenecek hedef türü. target_type şunlardan yalnızca biri olabilir:
query

QueryTarget

Sorgu tarafından belirtilen hedef.

documents

DocumentsTarget

Bir dizi doküman adıyla belirtilen hedef.

Birleştirme alanı resume_type. Dinlemeye başlama zamanı.

Belirtilirse yalnızca resume_token veya read_time SONRASI güncellenen eşleşen Dokümanlar döndürülür. Aksi takdirde, eşleşen tüm Dokümanlar sonraki değişikliklerden önce döndürülür. resume_type şunlardan yalnızca biri olabilir:

resume_token

bytes

Aynı hedef için önceki TargetChange öğesinden bir devam ettirme jetonu.

Farklı bir hedefle devam ettirme jetonunun kullanılması desteklenmez ve başarısız olabilir.

read_time

Timestamp

Belirli bir read_time sonra dinlemeye başlayın.

Müşterinin şu anda eşleşen belgelerin durumunu bilmesi gerekir.

DocumentsTarget

Bir dizi belge adıyla belirtilen hedef.

Alanlar
documents[]

string

Alınacak dokümanların adları. Biçimi: projects/{project_id}/databases/{database_id}/documents/{document_path}. Belgelerden herhangi biri, belirtilen database öğesinin alt kaynağı değilse istek başarısız olur. Yinelenen adlar çıkarılır.

QueryTarget

Sorgu tarafından belirtilen hedef.

Alanlar
parent

string

Üst kaynak adı. Biçimi: projects/{project_id}/databases/{database_id}/documents veya projects/{project_id}/databases/{database_id}/documents/{document_path}. Örneğin: projects/my-project/databases/my-database/documents veya projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

Birleştirme alanı query_type. Çalıştırılacak sorgu. query_type şunlardan yalnızca biri olabilir:
structured_query

StructuredQuery

Yapılandırılmış bir sorgudur.

TargetChange

İzlenen hedefler değişti.

Alanlar
target_change_type

TargetChangeType

Gerçekleşen değişikliğin türü.

target_ids[]

int32

Değişen hedeflerin hedef kimlikleri.

Boş bırakılırsa değişiklik tüm hedeflere uygulanır.

Hedef kimliklerin sırası tanımlanmamış.

cause

Status

Bu değişikliğe neden olan hata (varsa).

resume_token

bytes

Belirtilen target_ids için akışı devam ettirmek amacıyla kullanılabilecek bir jeton veya target_ids boşsa tüm hedefler.

Her hedef değişikliğinde ayarlanmadı.

read_time

Timestamp

Belirtilen target_ids için tutarlı read_time (target_id'ler tutarlı bir anlık görüntüde olmadığında atlanır).

Akışın tamamı yeni ve tutarlı bir anlık görüntüye ulaştığında akışın target_ids boş olan bir read_time göndermesi garanti edilir. ADD, CURRENT ve RESET iletilerinin yeni ve tutarlı bir anlık görüntü sağlaması garanti edilir (ancak NO_CHANGE ve REMOVE iletileri için geçerli değildir).

Belirli bir akış için read_time değerinin tekdüze artacağı garanti edilir.

TargetChangeType

Değişikliğin türü.

Sıralamalar
NO_CHANGE Herhangi bir değişiklik olmadı. Yalnızca güncellenmiş bir resume_token göndermek için kullanılır.
ADD Hedefler eklendi.
REMOVE Hedefler kaldırıldı.
CURRENT

Hedefler, hedefler akışa eklenmeden önce yapılan tüm değişiklikleri yansıtır.

Bu, hedeflerin eklendiği zamandan sonra veya daha büyük bir read_time ile gönderilir.

İşleyiciler, yazdıktan sonra okunan anlamlar isteniyorsa bu değişikliği bekleyebilir.

RESET

Hedefler sıfırlandı ve sonraki değişikliklerde hedefler için yeni bir başlangıç durumu döndürülecek.

İlk durum tamamlandıktan sonra, daha önce hedefin CURRENT olduğu belirtilse bile CURRENT döndürülür.

TransactionOptions

Yeni işlem oluşturma seçenekleri.

Alanlar
Birleştirme alanı mode. İşlem modu. mode şunlardan yalnızca biri olabilir:
read_only

ReadOnly

İşlem yalnızca okuma işlemleri için kullanılabilir.

read_write

ReadWrite

İşlem, hem okuma hem de yazma işlemleri için kullanılabilir.

ReadOnly

Yalnızca dokümanları okumak için kullanılabilecek işlem seçenekleri.

Alanlar
Birleştirme alanı consistency_selector. Bu işlem için tutarlılık modu. Politika ayarlanmazsa varsayılan olarak güçlü tutarlılık sağlanır. consistency_selector şunlardan yalnızca biri olabilir:
read_time

Timestamp

Verilen zamandaki dokümanları okur.

Bu, son 1 saat içindeki bir mikrosaniye hassasiyetli zaman damgası olmalıdır veya Belirli Bir Noktadan Kurtarma özelliği etkinleştirilmişse son 7 gün içindeki tam bir dakikalık zaman damgası da olabilir.

ReadWrite

Doküman okumak ve yazmak için kullanılabilecek işlem seçenekleri.

Firestore, üçüncü taraf kimlik doğrulama isteklerinin okuma-yazma işlemleri oluşturmasına izin vermez.

Alanlar
retry_transaction

bytes

Yeniden denemek için isteğe bağlı bir işlem.

UpdateDocumentRequest

Firestore.UpdateDocument isteği.

Alanlar
document

Document

Zorunlu. Güncellenen doküman. Henüz mevcut değilse dokümanı oluşturur.

update_mask

DocumentMask

Güncellenecek alanlar. Maskedeki alan yollarının hiçbiri ayrılmış bir ad içeremez.

Doküman sunucuda bulunuyorsa ve maskede başvurulmayan alanlar içeriyorsa bunlar değiştirilmeden bırakılır. Maskede başvurulan ancak giriş dokümanında bulunmayan alanlar, sunucudaki dokümandan silinir.

mask

DocumentMask

Döndürülecek alanlar. Ayarlanmazsa tüm alanları döndürür.

Dokümanın bu maskede bulunmayan bir alanı varsa o alan yanıtta döndürülmez.

current_document

Precondition

Dokümandaki isteğe bağlı bir ön koşul. Bu değer ayarlanırsa ve hedef doküman tarafından karşılanmazsa istek başarısız olur.

Değer

Desteklenen değer türlerinden herhangi birini barındırabilen bir mesaj.

Alanlar
Birleştirme alanı value_type. Ayarlanmış bir değer olmalıdır. value_type şunlardan yalnızca biri olabilir:
null_value

NullValue

Boş değer.

boolean_value

bool

Boole değeridir.

integer_value

int64

Tam sayı değeridir.

double_value

double

Çift değer.

timestamp_value

Timestamp

Zaman damgası değeri.

Yalnızca mikrosaniye aralığında kesindir. Depolandığında tüm ek hassasiyetler aşağı yuvarlanır.

string_value

string

Dize değeridir.

UTF-8 olarak temsil edilen dize, 1 MiB - 89 baytı aşmamalıdır. Sorgular,UTF-8 temsilinin yalnızca ilk 1.500 baytını dikkate alır.

bytes_value

bytes

Bayt değeri.

1 MiB - 89 bayttan büyük olmamalıdır. Sorgular yalnızca ilk 1.500 baytı dikkate alır.

reference_value

string

Bir dokümana referans. Örneğin: projects/{project_id}/databases/{database_id}/documents/{document_path}.

geo_point_value

LatLng

Dünya yüzeyindeki bir noktayı temsil eden coğrafi nokta değeri.

array_value

ArrayValue

Dizi değeri.

Doğrudan başka bir dizi değeri içeremez, ancak başka bir dizi içeren eşleme içerebilir.

map_value

MapValue

Harita değeri.

Yazma

Bir dokümana yazı yazma.

Alanlar
update_mask

DocumentMask

Bu yazma sırasında güncellenecek alanlar.

Bu alan yalnızca işlem update olduğunda ayarlanabilir. Maske bir update için ayarlanmadıysa ve doküman varsa mevcut verilerin üzerine yazılır. Maske ayarlanırsa ve sunucudaki dokümanda, maskenin kapsamına girmeyen alanlar varsa bunlar değiştirilmez. Maskede başvurulan ancak giriş dokümanında bulunmayan alanlar, sunucudaki dokümandan silinir. Bu maskedeki alan yolları, ayrılmış bir alan adı içermemelidir.

update_transforms[]

FieldTransform

Güncellemeden sonra gerçekleştirilecek dönüşümler.

Bu alan yalnızca işlem update olduğunda ayarlanabilir. Mevcut olduğunda bu yazma işlemi, aynı belgeye atomik olarak ve sırayla update ve transform uygulayabilme işlemine eşdeğerdir.

current_document

Precondition

Dokümandaki isteğe bağlı bir ön koşul.

Bu ayar yapılırsa ancak hedef doküman tarafından karşılanmazsa yazma işlemi başarısız olur.

Birleştirme alanı operation. Yürütülecek işlem. operation şunlardan yalnızca biri olabilir:
update

Document

Yazılacak bir doküman.

delete

string

Silinecek doküman adı. Biçimi: projects/{project_id}/databases/{database_id}/documents/{document_path}.

transform

DocumentTransform

Bir dokümana dönüşüm uygular.

WriteRequest

Firestore.Write isteği.

İlk istek bir akış oluşturur veya jetondan mevcut bir akışı devam ettirir.

Yeni bir akış oluşturulurken sunucu sonraki istekte kullanmak üzere yalnızca kimlik ve jeton içeren bir yanıtla yanıt verir.

Bir akışı devam ettirirken sunucu ilk olarak belirtilen jetondan sonraki yanıtların akışını gerçekleştirir. Ardından bir sonraki istekte kullanmak üzere yalnızca güncel jeton içeren bir yanıt verir.

Alanlar
database

string

Zorunlu. Veritabanı adı. Biçimi: projects/{project_id}/databases/{database_id}. Bunu yalnızca ilk mesajda belirtmeniz gerekir.

stream_id

string

Devam ettirilecek yazma akışının kimliği. Bu seçenek yalnızca ilk mesajda ayarlanabilir. Boş bırakıldığında yeni bir yazma akışı oluşturulur.

writes[]

Write

Uygulanacak yazmalar.

Her zaman anatomik olarak ve sırayla yürütülür. İlk istekte boş olmalıdır. Bu, son istekte boş olabilir. Diğer tüm isteklerde bu alan boş olmamalıdır.

stream_token

bytes

Daha önce sunucu tarafından gönderilen bir akış jetonu.

İstemci bu alanı, aldığı en son WriteResponse jetonuna ayarlamalıdır. Bu onay, istemcinin bu jetona kadar yanıtlar aldığını onaylar. Bu jeton gönderildikten sonra, eski jetonlar artık kullanılamaz.

Çok fazla onaylanmamış yanıt varsa sunucu akışı kapatabilir.

Yeni bir yayın oluştururken bu alanı ayarlamadan bırakın. Bir akışı belirli bir noktada devam ettirmek için bu alanı ve stream_id alanını ayarlayın.

Yeni bir yayın oluştururken bu alanı ayarlamadan bırakın.

labels

map<string, string>

Bu yazma isteğiyle ilişkili etiketler.

WriteResponse

Firestore.Write için yanıt.

Alanlar
stream_id

string

Akışın kimliği. Yalnızca ilk mesajda, yeni bir akış oluşturulduğunda ayarlanır.

stream_token

bytes

Bu yanıtın akıştaki konumunu temsil eden jeton. Bu noktada, istemci akışı bu noktada devam ettirmek için kullanılabilir.

Bu alan her zaman ayarlanır.

write_results[]

WriteResult

Yazmalar uygulandığında elde edilen sonuç.

Bu yazma sonucu, istekteki son yazma işlemine karşılık gelir.

commit_time

Timestamp

Kaydetmenin gerçekleştiği saat. Eşit veya daha büyük read_time değerine sahip tüm okumalarda, yazmanın etkileri kesin olarak görülür.

WriteResult

Yazma işleminin sonucu.

Alanlar
update_time

Timestamp

Yazma işlemi uygulandıktan sonra dokümanın son güncellenme zamanı. delete sonrasında ayarlanmadı.

Yazma işlemi dokümanı gerçekten değiştirmediyse bu önceki update_time işlemi olur.

transform_results[]

Value

Her bir DocumentTransform.FieldTransform aynı sırada uygulandığında elde edilen sonuçlar.