Write

Bir dokümana yazı yazma.

JSON gösterimi
{
  "updateMask": {
    object (DocumentMask)
  },
  "updateTransforms": [
    {
      object (FieldTransform)
    }
  ],
  "currentDocument": {
    object (Precondition)
  },

  // Union field operation can be only one of the following:
  "update": {
    object (Document)
  },
  "delete": string,
  "transform": {
    object (DocumentTransform)
  }
  // End of list of possible types for union field operation.
}
Alanlar
updateMask

object (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.

updateTransforms[]

object (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.

currentDocument

object (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

object (Document)

Yazılacak bir doküman.

delete

string

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

transform

object (DocumentTransform)

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

DocumentTransform

Bir belgenin dönüşümü.

JSON gösterimi
{
  "document": string,
  "fieldTransforms": [
    {
      object (FieldTransform)
    }
  ]
}
Alanlar
document

string

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

fieldTransforms[]

object (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ü.

JSON gösterimi
{
  "fieldPath": string,

  // Union field transform_type can be only one of the following:
  "setToServerValue": enum (ServerValue),
  "increment": {
    object (Value)
  },
  "maximum": {
    object (Value)
  },
  "minimum": {
    object (Value)
  },
  "appendMissingElements": {
    object (ArrayValue)
  },
  "removeAllFromArray": {
    object (ArrayValue)
  }
  // End of list of possible types for union field transform_type.
}
Alanlar
fieldPath

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:
setToServerValue

enum (ServerValue)

Alanı verilen sunucu değerine ayarlar.

increment

object (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

object (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

object (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.

appendMissingElements

object (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.

removeAllFromArray

object (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.