Package google.firestore.v1beta1

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ıkları canlı senkronizasyon ve çevrimdışı destek sunarken güvenlik özellikleri ve Firebase ile Google Cloud Platform ile entegrasyonları, tamamen sunucusuz uygulamalar oluşturmayı hızlandırır.

BatchGetDocuments

rpc BatchGetDocuments(BatchGetDocumentsRequest) returns (BatchGetDocumentsResponse)

Birden fazla doküman alır.

Bu yöntemle geri gönderilen dokümanların istendiği sırayla gönderileceğ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ış başlıklı makaleye bakın.

BatchWrite

rpc BatchWrite(BatchWriteRequest) returns (BatchWriteResponse)

Bir yazma işlemi grubu uygular.

BatchWrite yöntemi yazma işlemlerini temelden uygulamaz ve bunları sıradan şekilde uygulayabilir. Yöntem, doküman 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 öğesine göz atın.

Atom olarak uygulanmış bir yazma grubuna ihtiyacınız varsa 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ış başlıklı makaleye bakın.

İşlem Başlangıcı

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ış başlıklı makaleye bakı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ış başlıklı makaleye bakın.

Doküman Oluşturma

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ış başlıklı makaleye bakı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ış başlıklı makaleye bakı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ış başlıklı makaleye bakın.

ListCollectionId'ler

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ış başlıklı makaleye bakın.

Belgeleri Listele

rpc ListDocuments(ListDocumentsRequest) returns (ListDocumentsResponse)

Belgeleri 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ış başlıklı makaleye bakın.

Dinleyin

rpc Listen(ListenRequest) returns (ListenResponse)

Değişiklikleri dinler. Bu yöntem yalnızca gRPC veya WebChannel üzerinden kullanılabilir (REST ile kullanılamaz).

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ış başlıklı makaleye bakın.

BölümSorgusu

rpc PartitionQuery(PartitionQueryRequest) returns (PartitionQueryResponse)

Sorguyu paralel olarak çalıştırmak için kullanılabilecek bölüm imleçlerini döndürerek sorguyu bölümlendirir. Döndürülen bölüm imleçleri, RunQuery tarafından sorgu sonuçları için başlangıç/bitiş noktaları olarak kullanılabilen 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ış başlıklı makaleye bakı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ış başlıklı makaleye bakın.

AggregationQuery Çalıştırma

rpc RunAggregationQuery(RunAggregationQueryRequest) returns (RunAggregationQueryResponse)

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

Bu API, Firestore.RunQuery gibi Document sonuçları üretmek yerine, sunucu tarafında bir dizi AggregationResult oluşturmak için toplama çalıştırmaya 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ış başlıklı makaleye bakın.

Çalıştırma Sorgusu

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ış başlıklı makaleye bakın.

Doküman Güncelleme

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ış başlıklı makaleye bakın.

Yazma

rpc Write(WriteRequest) returns (WriteResponse)

Doküman güncelleme ve silme işlemlerini toplu olarak sırayla gerçekleştirir. Bu yöntem yalnızca gRPC veya WebChannel üzerinden kullanılabilir (REST ile kullanılamaz).

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ış başlıklı makaleye bakın.

AggregationResult

Firestore toplama sorgusundaki tek bir paketin sonucu.

aggregate_fields anahtarları, toplama sorgusundaki tüm sonuçlar için aynıdır. Her sonuç için farklı alanlara sahip olabilen belge sorgularının aksine.

Alanlar
aggregate_fields

map<string, Value>

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

Anahtar, girişteki toplama işlevine atanan alias öğesidir. 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ı. Belirtilen biçimde: projects/{project_id}/databases/{database_id}.

documents[]

string

Alınacak dokümanların adları. Belirtilen biçimde: 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ümanda, bu maskede bulunmayan bir alan varsa bu alan yanıtta döndürülmez.

Birleştirme alanı consistency_selector. Bu işlem için tutarlılık modu. Ayarlanmazsa varsayılan olarak güçlü tutarlılık kullanılı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 belgeleri okur. Varsayılan olarak salt okunur işlem kullanılır. Yeni işlem kimliği, akıştaki ilk yanıt olarak döndürülür.

read_time

Timestamp

Belgeleri belirtilen zamanda olduğu gibi okur.

Bu, son bir saat içindeki mikrosaniyelik bir hassasiyet zaman damgası olmalıdır. Belirli bir noktadan önceyi kurtarma özelliği etkinse son 7 gün içindeki bir tam dakikalık zaman damgası da olabilir.

BatchGetDocumentsResponse

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

Alanlar
transaction

bytes

Bu istek kapsamında başlatılan işlem. Yalnızca ilk yanıtta ve istekte BatchGetDocumentsRequest.new_transaction ayarlanmışsa ayarlanır.

read_time

Timestamp

Belgenin okunma zamanı. Bu değer tekdüze şekilde artıyor olabilir. Bu durumda, sonuç akışında yer alan önceki dokümanların Read_time ve bu doküman arasında değişmediği garanti edilir.

Birleştirme alanı result. Tek bir sonuç. Sunucu yalnızca 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ı. Belirtilen biçimde: projects/{project_id}/databases/{database_id}/documents/{document_path}.

BatchWriteRequest

Firestore.BatchWrite isteği.

Alanlar
database

string

Zorunlu. Veritabanı adı. Belirtilen biçimde: projects/{project_id}/databases/{database_id}.

writes[]

Write

Uygulanacak yazma işlemleri.

Yöntem yazma işlemleri atomik olarak uygulanmaz 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 çok kez yazamazsınız.

labels

map<string, string>

Bu toplu yazma işlemiyle ilişkilendirilen etiketler.

BatchWriteResponse

Firestore.BatchWrite tarafından gönderilen yanıt.

Alanlar
write_results[]

WriteResult

Yazma işlemlerinin uygulanmasının sonucu.

Bu i-'inci yazma sonucu, istekteki i'inci yazmaya karşılık gelir.

status[]

Status

Yazma işlemlerinin uygulanma durumu.

Bu i-'inci yazma durumu, istekteki i. yazma durumuna karşılık gelir.

StartTransactionRequest

Firestore.BeginTransaction isteği.

Alanlar
database

string

Zorunlu. Veritabanı adı. Belirtilen biçimde: projects/{project_id}/databases/{database_id}.

options

TransactionOptions

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

Başla

Firestore.BeginTransaction için yanıt.

Alanlar
transaction

bytes

Başlatılan işlem.

Bit Sırası

Bayt dizisi olarak kodlanmış bir bit dizisi.

bitmap bayt dizisindeki her bayt, dizinin 8 bitini depolar. Tek istisna, 8 veya daha az bit depolayabilen son bayttır. 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 biti almak için bit 0'ı şu şekilde hesaplayın: (bitmap[0] & 0x01) != 0. İkinci biti almak için bit 1'i şu şekilde hesaplayın: (bitmap[0] & 0x02) != 0. Üçüncü biti almak için bit 2'yi şu şekilde hesaplayın: (bitmap[0] & 0x04) != 0. Dördüncü biti almak için bit 3'ü şu şekilde hesaplayın: (bitmap[0] & 0x08) != 0. n bitini 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 baytlar. Uzunluğu sıfır olabilir.

padding

int32

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

Çiçek Filtresi

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

Çiçek açma filtresi, girişlere MD5 ile karma oluşturma işlemi uygular ve elde edilen 128 bitlik karmayı, 2'nin tamamlayıcı kodlamasını kullanarak imzalanmamış tam sayılar olarak yorumlanan 2 farklı 64 bit karma değeri olarak işler.

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

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

Bu sonuç değerleri, verilen giriş için test etmek üzere çiçeklenme filtresinin bitlerini almak üzere çiçeklenme 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ı.

Kaydetme İsteği

Firestore.Commit isteği.

Alanlar
database

string

Zorunlu. Veritabanı adı. Belirtilen biçimde: projects/{project_id}/databases/{database_id}.

writes[]

Write

Uygulanacak yazma işlemleri.

Her zaman atomik ve sıralı bir şekilde yürütülür.

transaction

bytes

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

Kaydetme Yanıtı

Firestore.Commit için yanıt.

Alanlar
write_results[]

WriteResult

Yazma işlemlerinin uygulanmasının sonucu.

Bu i-'inci yazma sonucu, istekteki i'inci yazmaya karşılık gelir.

commit_time

Timestamp

Kaydetmenin gerçekleştiği zaman. read_time değerine eşit veya daha yüksek olan tüm okumalar, kaydetmenin etkilerini görecektir.

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. Listelenecek parent ile ilişkili koleksiyon kimliği. Örnek: chatrooms.

document_id

string

Bu doküman için kullanılacak, müşteri tarafından atanmış 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ümanda, bu maskede bulunmayan bir alan varsa bu alan yanıtta döndürülmez.

İmleç

Sorgu sonuç kümesindeki bir konum.

Alanlar
values[]

Value

Bir sorgunun ifade gücüne göre sıralanmış sırayla bir konumu temsil eden değerler.

İfadeye 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ı. Belirtilen biçimde: projects/{project_id}/databases/{database_id}/documents/{document_path}.

current_document

Precondition

Dokümandaki isteğe bağlı bir ön koşul. Bu ayar yapılırsa ve hedef belge tarafından karşılanmazsa istek başarısız olur.

Doküman

Bir Firestore belgesidir.

1 MiB - 4 bayt arasında olmalıdır.

Alanlar
name

string

Dokümanın kaynak adı (ör. 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 sorgunun read_time metriğiyle karşılaştırılabilir.

update_time

Timestamp

Yalnızca çıkış. Belgenin son değiştirildiği saat.

Bu değer başlangıçta create_time olarak ayarlanır ve ardından dokümanda yapılan her değişiklikle birlikte tekdüze olarak artar. Ayrıca, diğer dokümanlardaki değerlerle ve sorgunun read_time metriğiyle karşılaştırılabilir.

DocumentChange

Document değişti.

Silme işlemleri de dahil olmak üzere birden fazla writes sonucunda ortaya çıkan ve sonuçta Document için yeni bir değerle sonuçlanabilir.

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

Alanlar
document

Document

Document cihazının yeni durumu.

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

target_ids[]

int32

Bu belgeyle eşleşen hedeflerin hedef kimlikleri grubu.

removed_target_ids[]

int32

Artık bu dokümanla eşleşmeyen hedeflere yönelik bir hedef kimlik grubu.

Doküman Silme

Document silindi.

Güncellemeler de dahil olmak üzere, sonuncusu Document öğesini silen birden fazla writes nedeniyle oluşmuş olabilir.

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

Alanlar
document

string

Silinen Document öğesinin kaynak adı.

removed_target_ids[]

int32

Bu varlıkla daha önce eşleşen hedeflere ait 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ümanda alma veya güncelleme işlemini alanlarının bir alt kümesiyle kısıtlamak için kullanılır. Bu, her zaman bir Document kapsamında olduğu ve Value öğesinin dinamik doğasını dikkate aldığı için 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 sayfasına bakın.

Doküman Kaldırma

Document, hedefler görünümünden kaldırıldı.

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

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

Alanlar
document

string

Görünümden çıkan Document öğesinin kaynak adı.

removed_target_ids[]

int32

Bu dokümanla daha önce eşleşen hedefler için bir hedef kimlik 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 ona eşit.

Doküman Dönüşümü

Bir dokümanın dönüşümü.

Alanlar
document

string

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

field_transforms[]

FieldTransform

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

Alan Dönüşümü

Dokümandaki bir alanın dönüşümü.

Alanlar
field_path

string

Alanın yolu. Alan yolu söz dizimi referansı için Document.fields sayfasına bakın.

Birleştirme alanı transform_type. Alana 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 tam sayı veya çift değilse ya da alan henüz mevcut değilse dönüştürme işlemi, alanı verilen değere ayarlar. Verilen değerden veya geçerli alan değerinden biri çift olursa her iki değer de çiftler olarak yorumlanır. Çift aritmetik ve çift değerlerin gösterimi IEEE 754 anlamında geçerlidir. Pozitif/negatif tam sayı taşması varsa alan, en büyük büyüklükteki pozitif/negatif tam sayıya çözümlenir.

maximum

Value

Alanı, geçerli değerinin ve verilen değerin maksimum değerine ayarlar.

Bu, bir tam sayı veya çift değer olmalıdır. Alan tam sayı veya çift değilse ya da alan henüz mevcut değilse dönüştürme işlemi, alanı verilen değere ayarlar. Alan ve giriş değerinin karma türde olduğu (yani biri tam sayı, diğeri çift sayı olduğu) bir 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 değerlerinin tamamı sıfırdır. Sıfır depolanan değerin ve sıfır giriş değerinin maksimum değeri her zaman depolanan değerdir. x ve NaN sayısal değerlerinin maksimum değeri NaN'dir.

minimum

Value

Alanı, geçerli değerinin ve verilen değerin minimum değerine ayarlar.

Bu, bir tam sayı veya çift değer olmalıdır. Alan tam sayı veya çift değilse ya da alan henüz mevcut değilse dönüştürme işlemi, alanı giriş değerine ayarlar. Alan ve giriş değeri karışık türde (yani bir tam sayı, diğeri çift sayı) 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 değerlerinin tamamı sıfırdır. Sıfır depolanan değer ve sıfır giriş değerinin minimum değeri her zaman depolanan değerdir. x ve NaN sayısal değerlerinin minimum değeri NaN'dir.

append_missing_elements

ArrayValue

Geçerli alan değerinde zaten mevcut değillerse belirtilen öğeleri sırayla ekleyin. Alan bir dizi değilse veya alan henüz mevcut değilse önce boş diziye ayarlanır.

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

Karşılık gelen transform_result, boş değer olur.

remove_all_from_array

ArrayValue

Alandaki diziden belirtilen öğelerin tümünü kaldırın. Alan bir dizi değilse veya alan henüz mevcut değilse boş diziye 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 kabul edilir. NaN, NaN'ye eşittir. Boş değer ise Null'a eşittir. Bu işlem, yinelenen öğeler varsa tüm eşdeğer değerleri kaldırır.

Karşılık gelen transform_result, boş değer olur.

Sunucu Değeri

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 zaman. Bir işlemde birden fazla alanda (aynı veya farklı dokümanlar) kullanılırsa tüm alanlara aynı sunucu zaman damgası gönderilir.

Yürütme İstatistikleri

Sorgu için yürütme istatistikleri.

Alanlar
results_returned

int64

Belgeler, 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 toplam süre.

read_operations

int64

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

debug_stats

Struct

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

Varlık Filtresi

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

Alanlar
target_id

int32

Bu filtrenin geçerli olduğu hedef kimliği.

count

int32

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

Müşterideki eşleşen dokümanların sayısından farklıysa müşteri, hedefle eşleşen dokümanları manuel olarak belirlemelidir.

Müşteri, TÜM belge adlarını filtreye göre test ederek bu tespite yardımcı olmak için unchanged_names çiçek verme filtresini kullanabilir. Doküman adı filtrede YOKSA, 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 filtresi.

Bu çiçeklenme filtresi, sunucunun şahsi karar verme yetkisiyle (örneğin, istemcinin kullanmayacağına kanaat getirilirse veya hesaplanması ya da iletilmesinin çok pahalıya mal olacağı durumlarda) atlanabilir. İstemcilerin, bu alan var olmadan önce kullanılan mantığa geri dönerek bu alanın eksik olması durumunda özenle işlem yapmaları gerekir. Diğer bir deyişle, istemcinin önbelleğindeki hangi dokümanların senkronize olmadığını anlamak için hedefi özgeçmiş jetonu olmadan yeniden eklemelidir.

ExplainMetrics

Sorguyla ilgili metrikleri açıklayın.

Alanlar
plan_summary

PlanSummary

Sorgu için planlama aşaması bilgileri.

execution_stats

ExecutionStats

Sorgunun yürütülmesine dair toplu istatistikler. Yalnızca ExplainOptions.analyze doğru olarak ayarlandığında mevcut olur.

Açıklama Seçenekleri

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ğidir.

Politika, yanlış değerine ayarlandığında (varsayılan) sorgu planlanır ve yalnızca planlama aşamalarındaki metrikleri döndürür.

Doğru olduğunda sorgu planlanır ve yürütülür, böylece 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ı. Belirtilen biçimde: 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ümanda, bu maskede bulunmayan bir alan varsa bu alan yanıtta döndürülmez.

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

bytes

Bir işlemde belgeyi okur.

read_time

Timestamp

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

Bu, son bir saat içindeki mikrosaniyelik bir hassasiyet zaman damgası olmalıdır. Belirli bir noktadan önceyi kurtarma özelliği etkinse son 7 gün içindeki bir tam dakikalık zaman damgası da olabilir.

ListCollectionIdsRequest

Firestore.ListCollectionIds isteği.

Alanlar
parent

string

Zorunlu. Üst doküman. Belirtilen biçimde: projects/{project_id}/databases/{database_id}/documents/{document_path}. Örnek: 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 değerinden bir değer olmalıdır.

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

Timestamp

Belgeleri belirtilen zamanda olduğu gibi okur.

Bu, son bir saat içindeki mikrosaniyelik bir hassasiyet zaman damgası olmalıdır. Belirli bir noktadan önceyi kurtarma özelliği etkinse son 7 gün içindeki bir tam dakikalık zaman damgası da olabilir.

ListCollectionIdsResponse

Firestore.ListCollectionIds tarafından gönderilen 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ı. Şu biçimde: 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ı. Listelenecek parent ile ilişkili koleksiyon kimliği.

Örneğin: chatrooms veya messages.

Bu isteğe bağlıdır ve sağlanmadığında Firestore, sağlanan parent altındaki tüm koleksiyonlardaki dokümanları 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 az sonuç döndürebilir.

page_token

string

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

Sonraki sayfayı almak için bunu sağlayın. Sayfalara ayırma işlemi sırasında 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ı.

Örnek: priority desc, __name__ desc.

Bu, Firestore sorgularında kullanılan ancak dize biçiminde olan ORDER BY öğesini yansıtır. Eksik olduğunda dokümanlar __name__ ASC temel alınarak sıralanır.

mask

DocumentMask

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

Bir dokümanda, bu maskede bulunmayan bir alan varsa bu alan yanıtta döndürülmez.

show_missing

bool

Listede eksik dokümanların gösterilip gösterilmediğ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 belgeler 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. Ayarlanmazsa varsayılan olarak güçlü tutarlılık kullanılır. consistency_selector şunlardan yalnızca biri olabilir:
transaction

bytes

Okuma işlemini, zaten etkin olan bir işlemin parçası olarak gerçekleştirin.

read_time

Timestamp

Okumayı belirtilen zamanda gerçekleştir.

Bu, son bir saat içindeki mikrosaniyelik bir hassasiyet zaman damgası olmalıdır. Belirli bir noktadan önceyi kurtarma özelliği etkinse son 7 gün içindeki bir tam dakikalık zaman damgası da olabilir.

ListDocumentsResponse

Firestore.ListDocuments için yanıt.

Alanlar
documents[]

Document

Bulunan dokümanlar.

next_page_token

string

Dokümanların sonraki sayfasını alma jetonu.

Bu alan atlanırsa sonraki sayfa olmaz.

Dinleme İsteği

Firestore.Listen için istek

Alanlar
database

string

Zorunlu. Veritabanı adı. Belirtilen biçimde: projects/{project_id}/databases/{database_id}.

labels

map<string, string>

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

Birleştirme alanı target_change. Desteklenen hedef değişir. 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

Document değişti.

document_delete

DocumentDelete

Document silindi.

document_remove

DocumentRemove

Bir Document, hedeften kaldırıldı (artık o hedefle alakalı olmadığı için).

filter

ExistenceFilter

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

Belgelerin belirtilen hedeften kaldırılmış olmasına rağmen belgelerin tam olarak bilinmediği durumlarda döndürülür.

Harita Değeri

Harita değeri.

Alanlar
fields

map<string, Value>

Haritanın alanları.

Eşleme anahtarları alan adlarını temsil eder. __.*__ normal ifadesiyle eşleşen alan adları ayrılmıştır. Ayrılmış alan adları, belirli belgelenen bağlamlar dışında kullanılamaz. UTF-8 olarak temsil edilen harita anahtarları 1.500 baytı aşmamalı ve boş olamaz.

PartitionQueryRequest

Firestore.PartitionQuery isteği.

Alanlar
parent

string

Zorunlu. Üst kaynak adı. Belirtilen biçimde: 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 gerçek bölüm 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 çalıştırırken mevcut çalışan ya da işlem örneği sayısından bir daha az olacak şekilde ayarlanabilir.

page_token

string

Ek bir sonuç grubu almak için kullanılabilecek önceki bir PartitionQuery çağrısından döndürülen next_page_token değeri. Sonuç grupları arasında sıralama garantisi yoktur. Dolayısıyla, birden fazla sonuç kümesi kullanmak için farklı sonuç kümelerinin birleştirilmesi gerekir.

Örneğin, page_token değerini kullanan sonraki iki çağrı şu sonucu döndürebilir:

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

PartitionQuery'ye 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ç U, imleç W

page_size

int32

partition_count şartlarına tabi olarak, bu çağrıda döndürülecek maksimum bölüm sayısı.

Örneğin, partition_count = 10 ve page_size = 8 ise, PartitionQuery'ye yapılan ilk çağrı en fazla 8 bölüm ve daha fazla sonuç varsa bir next_page_token döndürür. PartitionQuery'ye yapılan ikinci bir çağrı, partition_count içinde belirtilen toplam 10 bölümün tamamlanması için en fazla 2 bölüm döndürür.

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

StructuredQuery

Yapılandırılmış bir sorgu. Sorgu, koleksiyonu tüm alt alt öğelerle belirtmeli ve ada göre artan düzende 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. Ayarlanmazsa varsayılan olarak güçlü tutarlılık kullanılır. consistency_selector şunlardan yalnızca biri olabilir:
read_time

Timestamp

Belgeleri belirtilen zamanda olduğu gibi okur.

Bu, son bir saat içindeki mikrosaniyelik bir hassasiyet zaman damgası olmalıdır. Belirli bir noktadan önceyi kurtarma özelliği etkinse son 7 gün içindeki bir tam 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 PartitionQuery 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, bitiş_A
  • sorgu, başlangıç_A, bitiş_at B
  • sorgu, başlangıç_B

Boş bir sonuç, sorguda bölümlendirilemeyecek kadar 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 grup sonuç istemek için kullanılabilecek bir sayfa jetonu. Boş bırakılırsa başka sonuç yoktur.

Plan Özeti

Sorgu için planlama aşaması bilgileri.

Alanlar
indexes_used[]

Struct

Sorgu için seçilen dizinler. Örneğin: [ {"query_scope": "Collection", "properties": "(foo ASC, ad ASC)"}, {"query_scope": "Collection", "properties": "(bar ASC, ad ASC)"} ]

Precondition

Bir belgenin, koşullu işlemler için kullanılan ön koşulu.

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 düzeyinde olmalıdır.

Geri Alma İsteği

Firestore.Rollback isteği.

Alanlar
database

string

Zorunlu. Veritabanı adı. Belirtilen biçimde: 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ı. Şu biçimde: 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ıktır. consistency_selector şunlardan yalnızca biri olabilir:
transaction

bytes

Toplama işlemini zaten etkin olan bir işlemde çalıştırın.

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

new_transaction

TransactionOptions

Sorgunun bir parçası olarak yeni bir işlem başlatır. Bu işlem varsayılan olarak salt okunur olur.

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

read_time

Timestamp

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

Bu, son bir saat içindeki mikrosaniyelik bir hassasiyet zaman damgası olmalıdır. Belirli bir noktadan önceyi kurtarma özelliği etkinse son 7 gün içindeki bir tam 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 istek kapsamında başlatılan işlem.

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

read_time

Timestamp

Toplu sonucun hesaplandığı zaman. Bu değer her zaman monoton olarak artar. Bu durumda, sonuç akışındaki önceki AggregationResult öğesinin, read_time ve bu değer arasında değişmediği garanti edilir.

Sorgu herhangi bir sonuç döndürmezse read_time değerini içeren ve result içermeyen bir yanıt gönderilmez. Bu, sorgunun çalıştırıldığı zamanı temsil eder.

explain_metrics

ExplainMetrics

Sorgu, metrikleri açıklar. Bu mesaj 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ı. Şu biçimde: 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 sorgu.

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

bytes

Sorguyu zaten etkin olan bir işlemde ç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 belgeleri okur. Varsayılan olarak salt okunur işlem kullanılır. Yeni işlem kimliği, akıştaki ilk yanıt olarak döndürülür.

read_time

Timestamp

Belgeleri belirtilen zamanda olduğu gibi okur.

Bu, son bir saat içindeki mikrosaniyelik bir hassasiyet zaman damgası olmalıdır. Belirli bir noktadan önceyi kurtarma özelliği etkinse son 7 gün içindeki bir tam dakikalık zaman damgası da olabilir.

RunQueryResponse

Firestore.RunQuery için yanıt.

Alanlar
transaction

bytes

Bu istek kapsamında 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 durumu raporlanırken ayarlanmayan bir sorgu sonucu.

read_time

Timestamp

Belgenin okunma zamanı. Bu sayı monoton olarak artıyor olabilir. Bu durumda, sonuç akışında yer alan önceki dokümanların read_time ile bu doküman arasında değişmediği garanti edilir.

Sorgu herhangi bir sonuç döndürmezse read_time değerini içeren ve document içermeyen bir yanıt gönderilmez. Bu, sorgunun çalıştırıldığı zamanı temsil eder.

skipped_results

int32

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

explain_metrics

ExplainMetrics

Sorgu, metrikleri açıklar. Bu mesaj 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 devamlı mod. Varsa mevcut sorgu yanıt akışının tamamlandığını belirtir. Bu ayar, document varken veya olmadan ayarlanabilir ancak ayarlandığında başka sonuç döndürülmez. continuation_selector şunlardan yalnızca biri olabilir:
done

bool

Bu kod varsa Firestore, isteği tamamen tamamlamıştır ve başka belge döndürülmeyecektir.

YapılandırılmışAggregationQuery

StructuredQuery üzerinde toplama çalıştırmayla ilgili Firestore sorgusu.

Alanlar
aggregations[]

Aggregation

İsteğe bağlı. structured_query sonuçlarına uygulanacak toplama serisi.

Gerekenler:

  • Sorgu başına en az bir, en fazla beş toplama.
Birleştirme alanı query_type. Toplama işlemi için 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 toplamayı tanımlar.

Alanlar
alias

string

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

Sağlanmazsa Firestore, field_<incremental_id++> biçiminde varsayılan bir ad seçer. Örnek:

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 (
  ...
);

Gerekenler:

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

Count

Sayı toplayıcı.

sum

Sum

Toplam toplayıcı.

avg

Avg

Ortalama toplayıcı.

Ort.

İstenen alandaki değerlerin ortalaması.

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

  • Toplam değerler NaN içeriyorsa NaN değerini döndürür. Infinity Matematik, IEEE-754 standartlarını uygular.

  • Toplam değer grubu 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 işlemi için kullanılan alan.

Sayı

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

COUNT(*) toplama işlevi belgenin tamamında çalıştığından alan başvurusu gerektirmez.

Alanlar
up_to

Int64Value

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

Bu sayede taranacak doküman sayısı için bir üst sınır ayarlayabilir, gecikmeyi ve maliyeti sınırlandırabilirsiniz.

Belirtilmedi, sınır yok olarak yorumlanır.

Üst Düzey Örnek:

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

Gerekenler:

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

Toplam

İstenen alanın değerlerinin toplamı.

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

  • Toplam değerler NaN içeriyorsa NaN değerini döndürür. Infinity Matematik, IEEE-754 standartlarını uygular.

  • Toplam değer grubu boşsa 0 değerini döndürür.

  • Tüm toplanan sayılar tam sayıysa ve toplam sonuç taşmıyorsa 64 bitlik bir tam sayı döndürür. Aksi takdirde sonuç, çift duyarlıklı sayı olarak döndürülür. Toplam değerler tam sayı olsa bile, 64 bit imzalı tam sayıya sığmıyorsa sonucun çift değer olarak döndürüleceğini unutmayın. Bu durumda, döndürülen değer kesinlik düzeyini kaybeder.

  • Az akış gerçekleştiğinde, kayan nokta toplaması belirleyici değildir. Diğer bir deyişle, aynı sorguyu temel değerlerde herhangi bir değişiklik olmadan tekrar tekrar çalıştırmak her seferinde biraz farklı sonuçlar verebilir. Böyle durumlarda değerler, kayan noktalı sayılar yerine tam sayı olarak depolanmalıdır.

Alanlar
field

FieldReference

Toplama işlemi için kullanılan alan.

StructuredQuery

Firestore sorgusu.

Sorgu aşamaları şu sırayla yürütülür: 1.'den 2'ye. Burada 3. 4. sipariş_ayar + başlangıç_at + bitiş_at 5. ofset 6. sınır

Alanlar
select

Projection

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

Bu, bir sorgudan döndürülen dokümanlar üzerinde bir DocumentMask işlevi görür. Ayarlanmazsa 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 sipariş veya kısmi sipariş vermelerine ya da hiç sipariş vermemelerine olanak tanır. Firestore her durumda, aşağıdaki kurallar aracılığıyla istikrarlı bir sıralamayı garanti eder:

  • order_by, 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 alanlara, alan adının sözlük sıralamasına göre eklenir.
  • __name__ üzerinde bir sipariş belirtilmezse varsayılan olarak bu sipariş eklenir.

Alanlara, belirtilen son sırayla aynı sıralama yönü veya herhangi bir sıra belirtilmemişse "ASCENDING" ifadesi eklenir. Örnek:

  • 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

Sonuç kümesindeki sorgunun başlatılacağı konumun potansiyel ön eki.

Sonuç kümesinin sıralaması, orijinal sorgunun ORDER BY ifadesine göredir.

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ıralanıyor.

İmleçler tam sıralamaya veya konumun önekine referans verebilir. Ancak sağlanan ORDER BY alanında bulunandan daha fazla alana atıfta bulunamaz.

Yukarıdaki örnekten devam edeceğimiz için, aşağıdaki başlatma imleçlerini eklemenin çeşitli etkileri olacaktır:

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

Atlanması için ilk N sonucun taranmasını gerektiren OFFSET işlevinin aksine, başlatma imleci sorgunun mantıksal bir konumda başlamasını sağlar. Bu konumun gerçek bir sonuçla eşleşmesi gerekmez. Sonraki dokümanı bulmak için bu konumdan ileriye doğru tarama yapar.

Gerekenler:

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

Cursor

Sonuç kümesinde sorgunun sona ereceği konumun potansiyel ön eki.

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

Gerekenler:

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

int32

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

Bu, WHERE, START AT ve END AT tarafından belirtilen kısıtlamalardan sonra, LIMIT ifadesinden önce geçerlidir.

Gerekenler:

  • Değer belirtilirse 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 geçerlidir.

Gerekenler:

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

FindNearest

İsteğe bağlı. Potansiyel bir En Yakın Komşular Araması.

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

Verilen sorgu vektörüne en yakın vektör yerleştirmeleri bulur.

Koleksiyon Seçici

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çilir.

all_descendants

bool

Yanlış değerine ayarlandığında yalnızca, içeren RunQueryRequest öğesinde belirtilen parent öğesinin en yakın alt öğeleri olan koleksiyonları seçer. Doğru değerine ayarlandığında tüm alt alt koleksiyonları seçer.

Birleşik Filtre

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

Alanlar
op

Operator

Birden fazla filtreyi birleştirme operatörü.

filters[]

Filter

Birleştirilecek filtrelerin listesi.

Gerekenler:

  • En az bir filtre var.

Operatör

Bileşik filtre operatörü.

Sıralamalar
OPERATOR_UNSPECIFIED Belirtilmedi. Bu değer kullanılmamalıdır.
AND Dokümanlar, birleştirilmiş filtrelerin tamamına uymak için gereklidir.
OR Dokümanların, birleştirilmiş filtrelerden en az birine uyması gerekir.

Yön

Sıralama yönü.

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

Alan Filtresi

Belirli bir alandaki filtre.

Alanlar
field

FieldReference

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

op

Operator

Filtreleme ölçütü olarak 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 düşük.

Gerekenler:

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

Verilen field, belirtilen value değerinden küçük veya bu değere eşit.

Gerekenler:

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

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

Gerekenler:

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

Verilen field, belirtilen value değerinden büyük veya bu değere eşit.

Gerekenler:

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

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

Gerekenler:

  • Başka NOT_EQUAL, NOT_IN, IS_NOT_NULL veya IS_NOT_NAN yok.
  • field, order_by içinde birinci sırada.
ARRAY_CONTAINS Verilen field, belirtilen value değerini içeren bir dizi.
IN

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

Gerekenler:

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

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

Gerekenler:

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

field değeri, belirtilen dizide değil.

Gerekenler:

  • Bu value, en fazla 10 değere sahip boş olmayan bir ArrayValue.
  • Başka OR, IN, ARRAY_CONTAINS_ANY, NOT_IN, NOT_EQUAL, IS_NOT_NULL veya IS_NOT_NAN yok.
  • field, order_by içinde birinci sırada.

AlanReferansı

Dokümandaki bir alana referans, ör. stats.operations.

Alanlar
field_path

string

Bir dokümandaki alana yapılan referans.

Gerekenler:

  • Her segment document field name sınırlamalarına uygun olan, noktayla ayrılmış (.) bir segment dizesi ZORUNLUDUR.

Filtre

Filtre.

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

CompositeFilter

Birleşik filtre.

field_filter

FieldFilter

Belge alanında bir filtre.

unary_filter

UnaryFilter

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

En Yakın Bul

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

Alanlar
vector_field

FieldReference

Zorunlu. Arama yapılacak dizine eklenmiş vektör alanı. Yalnızca boyutları query_vector ile eşleşen vektörleri içeren dokümanlar döndürülebilir.

query_vector

Value

Zorunlu. Arama yaptığımız sorgu vektörü. Boyutları en fazla 2048 olan bir vektör içermelidir.

distance_measure

DistanceMeasure

Zorunlu. Kullanılacak Mesafe Ölçümü zorunludur.

limit

Int32Value

Zorunlu. Geri dönecek en yakın komşu sayısı. 1000'den fazla olmayan pozitif bir tam sayı olmalıdır.

Mesafe Ölçümü

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

Sıralamalar
DISTANCE_MEASURE_UNSPECIFIED Ayarlanmamalıdır.
EUCLIDEAN Vektörler arasındaki EUCLIDEAN mesafesini ölçer. Daha fazla bilgi edinmek için Euclidean (Öklide dili) başlıklı makaleyi inceleyin
COSINE Vektörleri aralarındaki açıya göre karşılaştırır. Bu sayede, vektörlerin büyüklüğüne bağlı olmayan benzerliği ölçebilirsiniz. Daha iyi performans ile matematiksel olarak eşdeğer 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 edinmek için Dot Product (Nokta Ürünü) başlıklı makaleyi inceleyin.

Sipariş

Sahadaki bir sipariş.

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şsa tüm alanlar döndürülür. Yalnızca belgenin adını döndürmek için ['__name__'] işlevini kullanın.

BirliFiltre

Tek işlem gören 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

Tekli 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.

Gerekenler:

  • Başka NOT_EQUAL, NOT_IN, IS_NOT_NULL veya IS_NOT_NAN yok.
  • field, order_by içinde birinci sırada.
IS_NOT_NULL

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

Gerekenler:

  • Tek bir NOT_EQUAL, NOT_IN, IS_NOT_NULL veya IS_NOT_NAN.
  • field, order_by içinde birinci sırada.

Hedefleyin

Dinlenecek doküman grubuna ilişkin spesifikasyon.

Alanlar
target_id

int32

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

target_id değeri 0 ise (veya belirtilmemişse) sunucu, bu hedef için bir kimlik atar ve bunu bir TargetChange::ADD etkinliğinde döndürür. target_id=0 özelliğini içeren bir hedef eklendikten sonra, sonraki tüm hedeflerin de target_id=0 içermesi gerekir. 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ği içeren bir yanıt gönderir.

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

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

once

bool

Hedefin güncel ve tutarlı hale geldikten sonra kaldırılması gerekip gerekmediği.

expected_count

Int32Value

Devam ettirme jetonu veya okunma zamanı sırası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ğer mevcuttur ve istemcinin yanıta ExistenceFilter.unchanged_names dahil edilmesini istediği sinyali sıfırdan büyüktür.

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

QueryTarget

Sorgu tarafından belirtilen bir hedef.

documents

DocumentsTarget

Bir dizi doküman adıyla belirtilen hedef.

Birleştirme alanı resume_type. Dinlemeye ne zaman başlamak istiyorsunuz?

Belirtilirse yalnızca resume_token veya read_time SONRASI güncellenmiş 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 tarihli bir devam ettirme jetonu.

Farklı bir hedefle devam ettirme jetonu kullanmak desteklenmez ve başarısız olabilir.

read_time

Timestamp

Belirli bir read_time sonrasında dinlemeye başlayın.

Müşteri, şu an için eşleşen dokümanların durumunu bilmelidir.

Dokümanlar Hedefi

Bir dizi doküman adı ile belirtilen bir hedef.

Alanlar
documents[]

string

Alınacak dokümanların adları. Belirtilen biçimde: 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.

Sorgu Hedefi

Sorgu tarafından belirtilen bir hedef.

Alanlar
parent

string

Üst kaynak adı. Şu biçimde: 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 sorgu.

HedefDeğişimi

İzlenmekte olan 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şsa değişiklik tüm hedeflere uygulanır.

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

cause

Status

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

resume_token

bytes

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

Her hedef değişikliği için ayarlanmaz.

read_time

Timestamp

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

Akışın tamamı yeni ve tutarlı bir anlık görüntüye ulaştığında, akışın target_ids ile boş bir read_time göndermesi garanti edilir. ADD, CURRENT ve RESET iletilerinin sonunda (sonuçta) yeni ve tutarlı bir anlık görüntü elde edilmesi garanti edilir (NO_CHANGE ve REMOVE mesajları bu durumu değiştirmez).

Belirli bir akışta read_time değerinin monoton olarak artacağı garanti edilir.

HedefDeğişiklikTürü

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

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

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

Bu e-posta, hedeflerin eklendiği zamana eşit veya bu tarihten sonra bir read_time ile birlikte gönderilir.

Yazmadan sonra okuma semantiği isteniyorsa dinleyiciler bu değişikliği bekleyebilirler.

RESET

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

Başlangıç durumu tamamlandıktan sonra, hedefin daha önce CURRENT olduğu belirtilmiş olsa bile CURRENT döndürülür.

TransactionOptions

Yeni bir işlem oluşturma seçenekleri.

Alanlar
Birleştirme alanı mode. İşlemin 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.

Salt Okunur

Yalnızca belgeleri okumak için kullanılabilen işlem seçenekleri.

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

Timestamp

Belgeleri belirtilen zamanda okur.

Bu, son bir saat içindeki mikrosaniyelik bir hassasiyet zaman damgası olmalıdır. Belirli bir noktadan önceyi kurtarma özelliği etkinse son 7 gün içindeki bir tam dakikalık zaman damgası da olabilir.

Okuma Yazma

Belgeleri 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 denenmek için isteğe bağlı bir işlem.

UpdateDocumentRequest

Firestore.UpdateDocument isteği.

Alanlar
document

Document

Zorunlu. Güncellenen doküman. Henüz yoksa 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 mevcutsa ve maskede referans verilmeyen alanlar varsa 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ümanda, bu maskede bulunmayan bir alan varsa bu alan yanıtta döndürülmez.

current_document

Precondition

Dokümandaki isteğe bağlı bir ön koşul. Bu ayar yapılırsa ve hedef belge 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. Bir değer ayarlanmış olmalıdır. value_type şunlardan yalnızca biri olabilir:
null_value

NullValue

Boş değer.

boolean_value

bool

Boole değeri.

integer_value

int64

Tam sayı değeri.

double_value

double

Çift değer.

timestamp_value

Timestamp

Zaman damgası değeri.

Yalnızca mikrosaniyelere kadar hassastır. Ek hassasiyetler depolandığında aşağı doğru yuvarlanır.

string_value

string

Dize değeri.

UTF-8 olarak temsil edilen dize, 1 MiB ile 89 bayt arasında olmalıdır. UTF-8 temsilinin yalnızca ilk 1.500 baytı sorgular tarafından dikkate alınır.

bytes_value

bytes

Bayt değeri.

1 MiB - 89 bayt arasında olmalıdır. Sorgular,yalnızca ilk 1.500 baytı dikkate alır.

reference_value

string

Bir dokümana referans. Örnek: 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 diziyi içeren bir eşleme içerebilir.

map_value

MapValue

Harita değeri.

Yazma

Belgeye yazı yazmak.

Alanlar
update_mask

DocumentMask

Bu yazmada güncellenecek alanlar.

Bu alan yalnızca update olduğunda ayarlanabilir. update için maske ayarlanmadıysa ve doküman mevcutsa mevcut tüm verilerin üzerine yazılır. Maske ayarlanırsa ve sunucudaki dokümanda maskenin kapsamadığı alanlar varsa bunlar değiştirilmeden bırakılır. Maskede başvurulan ancak giriş dokümanında bulunmayan alanlar sunucudaki dokümandan silinir. Bu maskedeki alan yolları, ayrılmış alan adı içermemelidir.

update_transforms[]

FieldTransform

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

Bu alan yalnızca update olduğunda ayarlanabilir. Varsa bu yazma işlemi, aynı belgede atomik ve sırayla update ve transform işlemi gerçekleştirmekle eşdeğerdir.

current_document

Precondition

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

Bu ayar yapılırsa ve hedef doküman tarafından karşılanmazsa yazma 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 doküman.

delete

string

Silinecek doküman adı. Belirtilen biçimde: projects/{project_id}/databases/{database_id}/documents/{document_path}.

transform

DocumentTransform

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

Yazma İsteği

Firestore.Write isteği.

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

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

Bir akışı devam ettirirken sunucu öncelikle belirtilen jetondan sonra gelen yanıtların akışını, ardından bir sonraki istekte kullanmak üzere yalnızca güncel jetonu içeren bir yanıt akışı gerçekleştirir.

Alanlar
database

string

Zorunlu. Veritabanı adı. Belirtilen biçimde: projects/{project_id}/databases/{database_id}. Bu yalnızca ilk mesajda gereklidir.

stream_id

string

Devam ettirilecek yazma akışının kimliği. Bu ayar yalnızca ilk mesajda yapılabilir. Boş bırakılırsa yeni bir yazma akışı oluşturulur.

writes[]

Write

Uygulanacak yazma işlemleri.

Her zaman atomik ve sıralı bir şekilde yürütülür. İlk istekte bu alan boş bırakılmalıdır. Bu alan son istekte boş olabilir. Bu alan, diğer tüm isteklerde boş olmamalıdır.

stream_token

bytes

Sunucu tarafından daha önce gönderilen akış jetonu.

İstemci bu alanı, aldığı en son WriteResponse içindeki jetona ayarlamalıdır. Bu, istemcinin bu jetona kadar yanıt aldığını onaylar. Bu jeton gönderildikten sonra önceki 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. 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şkilendirilen etiketler.

Yazma Yanıtı

Firestore.Write için yanıt.

Alanlar
stream_id

string

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

stream_token

bytes

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

Bu alan her zaman ayarlıdır.

write_results[]

WriteResult

Yazma işlemlerinin uygulanmasının sonucu.

Bu i-'inci yazma sonucu, istekteki i'inci yazmaya karşılık gelir.

commit_time

Timestamp

Kaydetmenin gerçekleştiği zaman. read_time değerine eşit veya daha büyük olan tüm okumaların, yazma işleminin etkilerini görmesi garanti edilir.

WriteResult

Yazma işleminin sonucu.

Alanlar
update_time

Timestamp

Yazma uygulandıktan sonra dokümanın son güncelleme zamanı. delete sonrasında ayarlanmaz.

Yazma işlemi dokümanı gerçekten değiştirmediyse bu, bir önceki güncelleme_zamanı olacaktır.

transform_results[]

Value

Her bir DocumentTransform.FieldTransform öğesinin aynı sırayla uygulanmasının sonuçları.