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 sudah ada, semua data yang sudah ada akan ditimpa. Jika mask ditetapkan dan dokumen di server memiliki kolom yang tidak dicakup oleh mask, kolom tersebut tidak akan berubah. Kolom yang dirujuk dalam mask, tetapi tidak ada di dokumen input, akan dihapus dari dokumen di server. Jalur kolom dalam 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 sama dengan menjalankan update dan transform ke dokumen yang sama secara atomik dan berurutan.

currentDocument

object (Precondition)

Prasyarat opsional pada dokumen.

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

Kolom union operation. Operasi yang akan dieksekusi. 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 pada dokumen.

DocumentTransform

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. Wajib diisi.

FieldTransform

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 mengetahui referensi sintaksis jalur kolom.

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

enum (ServerValue)

Menetapkan kolom ke nilai server yang ditentukan.

increment

object (Value)

Menambahkan nilai yang diberikan ke nilai kolom saat ini.

Nilai ini harus berupa 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 akan ditafsirkan sebagai ganda. Aritmatika ganda dan representasi nilai ganda mengikuti semantik IEEE 754. Jika ada luapan bilangan bulat positif/negatif, bidang akan diselesaikan ke bilangan bulat positif/negatif terbesar.

maximum

object (Value)

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

Nilai ini harus berupa 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 dengan kolom dan nilai input berjenis campuran (yaitu - satu adalah integer dan satu lagi adalah ganda), kolom akan menggunakan jenis operand yang lebih besar. Jika operand setara (mis. 3 dan 3.0), kolom tidak akan berubah. 0, 0,0, dan -0,0 semuanya bernilai nol. Nilai maksimum dari nilai tersimpan dan nilai input nol selalu merupakan nilai yang disimpan. Nilai numerik maksimum x dan NaN adalah NaN.

minimum

object (Value)

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

Nilai ini harus berupa bilangan bulat atau nilai ganda. Jika kolom bukan bilangan bulat atau ganda, atau jika kolom belum ada, transformasi akan menetapkan kolom ke nilai input. Jika operasi minimum diterapkan dengan kolom dan nilai input berjenis campuran (yaitu - satu adalah integer dan satu lagi adalah ganda), kolom akan menggunakan jenis operand yang lebih kecil. Jika operand setara (mis. 3 dan 3.0), kolom tidak akan berubah. 0, 0,0, dan -0,0 semuanya bernilai nol. Nilai minimum dari nilai tersimpan dan nilai input nol selalu merupakan nilai yang disimpan. Nilai minimum dari nilai numerik x dan NaN adalah NaN.

appendMissingElements

object (ArrayValue)

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

Angka yang setara dari jenis yang berbeda (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 menjadi nilai null.

removeAllFromArray

object (ArrayValue)

Menghapus semua elemen yang diberikan dari array dalam kolom. Jika kolom tersebut bukan array, atau jika kolom belum ada, kolom ini akan disetel ke array kosong.

Jumlah yang setara dari jenis yang berbeda (mis. 3L dan 3,0) dianggap sama ketika memutuskan apakah suatu elemen harus dihapus. 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 menjadi 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 milidetik. Jika digunakan di beberapa kolom (dokumen yang sama atau berbeda) dalam sebuah transaksi, semua kolom akan mendapatkan stempel waktu server yang sama.