Write

Penulisan pada dokumen.

Representasi JSON
{
  "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.
}
Kolom
updateMask

object (DocumentMask)

Kolom yang akan diperbarui dalam penulisan ini.

Kolom ini hanya dapat ditetapkan jika operasinya adalah update. Jika mask tidak ditetapkan untuk update dan dokumen ada, semua data yang ada akan ditimpa. Jika mask ditetapkan dan dokumen di server memiliki kolom yang tidak tercakup oleh mask, kolom tersebut tidak akan berubah. Kolom yang dirujuk dalam mask, tetapi tidak ada dalam dokumen input, dihapus dari dokumen di server. Jalur kolom di mask ini tidak boleh berisi nama kolom yang dicadangkan.

updateTransforms[]

object (FieldTransform)

Transformasi yang akan dilakukan setelah update.

Kolom ini hanya dapat ditetapkan jika operasinya adalah update. Jika ada, penulisan ini setara dengan melakukan update dan transform pada dokumen yang sama secara atomik dan berurutan.

currentDocument

object (Precondition)

Prakondisi opsional pada dokumen.

Penulisan akan gagal jika hal ini disetel dan tidak dipenuhi oleh dokumen target.

Kolom union operation. Operasi yang akan dijalankan. operation hanya ada berupa salah satu diantara berikut:
update

object (Document)

Dokumen yang akan ditulis.

delete

string

Nama dokumen yang akan dihapus. Dalam format: projects/{projectId}/databases/{databaseId}/documents/{document_path}.

transform

object (DocumentTransform)

Menerapkan transformasi ke dokumen.

TransformasiDokumen

Transformasi dokumen.

Representasi JSON
{
  "document": string,
  "fieldTransforms": [
    {
      object (FieldTransform)
    }
  ]
}
Kolom
document

string

Nama dokumen yang akan diubah.

fieldTransforms[]

object (FieldTransform)

Daftar transformasi yang akan diterapkan ke kolom dokumen, secara berurutan. Kolom ini wajib diisi.

TransformasiBidang

Transformasi kolom dokumen.

Representasi JSON
{
  "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.
}
Kolom
fieldPath

string

Jalur kolom. Lihat Document.fields untuk referensi sintaksis jalur kolom.

Kolom union transform_type. Transformasi yang akan diterapkan di kolom. transform_type hanya ada berupa salah satu diantara berikut:
setToServerValue

enum (ServerValue)

Menetapkan kolom ke nilai server yang diberikan.

increment

object (Value)

Menambahkan nilai yang diberikan ke nilai kolom saat ini.

Nilainya harus bilangan bulat atau nilai ganda. Jika kolom bukan bilangan bulat atau ganda, atau jika kolom belum ada, transformasi akan menetapkan kolom ke nilai yang diberikan. Jika salah satu nilai yang diberikan atau nilai kolom saat ini bernilai ganda, kedua nilai tersebut akan ditafsirkan sebagai nilai ganda. Aritmatika ganda dan representasi nilai ganda mengikuti semantik IEEE 754. Jika ada overflow bilangan bulat positif/negatif, kolom diselesaikan ke bilangan bulat positif/negatif terbesar.

maximum

object (Value)

Menetapkan kolom ke maksimum nilai saat ini dan nilai yang diberikan.

Nilainya harus bilangan bulat atau nilai ganda. Jika kolom bukan bilangan bulat atau ganda, atau jika kolom belum ada, transformasi akan menetapkan kolom ke nilai yang diberikan. Jika operasi maksimum diterapkan saat kolom dan nilai inputnya memiliki jenis campuran (yaitu - satu adalah bilangan bulat dan satu adalah double), kolom akan mengambil jenis operand yang lebih besar. Jika operand setara (misalnya 3 dan 3.0), bidang tidak berubah. 0, 0.0, dan -0.0 semuanya nol. Maksimum nilai nol yang disimpan dan nilai input nol selalu merupakan nilai yang disimpan. Maksimum dari nilai numerik apa pun x dan NaN adalah NaN.

minimum

object (Value)

Menetapkan kolom ke minimum nilai saat ini dan nilai yang diberikan.

Nilainya harus bilangan bulat atau nilai ganda. Jika kolom bukan bilangan bulat atau ganda, atau jika kolom belum ada, transformasi akan menetapkan kolom tersebut ke nilai input. Jika operasi minimum diterapkan dengan kolom dan nilai inputnya berupa jenis campuran (yaitu - satu adalah bilangan bulat dan satu adalah double) kolom akan mengambil jenis operand yang lebih kecil. Jika operand setara (misalnya 3 dan 3.0), bidang tidak berubah. 0, 0.0, dan -0.0 semuanya nol. Minimum dari nilai nol yang disimpan dan nilai input nol selalu merupakan nilai yang disimpan. Minimum dari nilai numerik apa pun x dan NaN adalah NaN.

appendMissingElements

object (ArrayValue)

Menambahkan elemen yang diberikan secara berurutan jika belum ada di nilai kolom saat ini. Jika kolom bukan berupa array, atau jika belum ada, kolom akan disetel ke array kosong terlebih dahulu.

Jumlah yang setara dari berbagai jenis (misalnya, 3L dan 3.0) dianggap sama saat memeriksa apakah ada nilai yang hilang. NaN sama dengan NaN, dan {i>Null<i} sama dengan {i>Null<i}. Jika input berisi beberapa nilai setara, hanya nilai pertama yang akan dipertimbangkan.

transform_result yang sesuai akan berupa nilai null.

removeAllFromArray

object (ArrayValue)

Hapus semua elemen yang diberikan dari array dalam kolom. Jika kolom bukan berupa array, atau jika belum ada, kolom akan ditetapkan ke array kosong.

Jumlah yang setara dari jenis yang berbeda (misalnya 3L dan 3.0) dianggap sama saat memutuskan apakah suatu elemen harus dihapus atau tidak. NaN sama dengan NaN, dan {i>Null<i} sama dengan {i>Null<i}. Tindakan ini akan menghapus semua nilai yang setara jika ada duplikat.

transform_result yang sesuai akan berupa nilai null.

ServerValue

Nilai yang dihitung oleh server.

Enum
SERVER_VALUE_UNSPECIFIED Tidak ditentukan. Nilai ini tidak boleh digunakan.
REQUEST_TIME Waktu saat server memproses permintaan, dengan presisi dalam milidetik. Jika digunakan di beberapa kolom (dokumen yang sama atau berbeda) dalam suatu transaksi, semua kolom akan mendapatkan stempel waktu server yang sama.