Write

Viết trên tài liệu.

Biểu diễn dưới dạng 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.
}
Trường
updateMask

object (DocumentMask)

Các trường cần cập nhật trong nội dung ghi này.

Bạn chỉ có thể đặt trường này khi thực hiện thao tác là update. Nếu bạn không đặt mặt nạ cho update và tài liệu tồn tại, thì mọi dữ liệu hiện có sẽ bị ghi đè. Nếu bạn đặt mặt nạ và tài liệu trên máy chủ có các trường không bị mặt nạ che phủ, thì các trường đó sẽ không thay đổi. Các trường được tham chiếu trong mặt nạ nhưng không có trong tài liệu nhập sẽ bị xoá khỏi tài liệu trên máy chủ. Đường dẫn trường trong mặt nạ này không được chứa tên trường dành riêng.

updateTransforms[]

object (FieldTransform)

Các biến đổi để thực hiện sau khi cập nhật.

Bạn chỉ có thể đặt trường này khi thực hiện thao tác là update. Nếu có, thao tác ghi này tương đương với việc thực hiện updatetransform cho cùng một tài liệu về tỷ lệ và thứ tự.

currentDocument

object (Precondition)

Điều kiện tiên quyết (không bắt buộc) trên tài liệu.

Thao tác ghi sẽ không thành công nếu bạn đặt giá trị này nhưng tài liệu đích không đáp ứng yêu cầu này.

Trường kết hợp operation. Thao tác cần thực thi. operation chỉ có thể là một trong những trạng thái sau đây:
update

object (Document)

Tài liệu cần viết.

delete

string

Tên tài liệu cần xoá. Ở định dạng: projects/{projectId}/databases/{databaseId}/documents/{document_path}.

transform

object (DocumentTransform)

Áp dụng một phép biến đổi cho một tài liệu.

DocumentTransform

Biến đổi tài liệu.

Biểu diễn dưới dạng JSON
{
  "document": string,
  "fieldTransforms": [
    {
      object (FieldTransform)
    }
  ]
}
Trường
document

string

Tên của tài liệu cần chuyển đổi.

fieldTransforms[]

object (FieldTransform)

Danh sách các phép biến đổi theo thứ tự áp dụng cho các trường trong tài liệu. Không được để trống trường này.

Chuyển đổi trường

Biến đổi một trường của tài liệu.

Biểu diễn dưới dạng 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.
}
Trường
fieldPath

string

Đường dẫn của trường. Hãy xem Document.fields để tham khảo cú pháp đường dẫn trường.

Trường kết hợp transform_type. Phép biến đổi để áp dụng trên trường. transform_type chỉ có thể là một trong những trạng thái sau đây:
setToServerValue

enum (ServerValue)

Đặt trường này thành giá trị máy chủ đã cho.

increment

object (Value)

Cộng giá trị đã cho vào giá trị hiện tại của trường.

Đây phải là một số nguyên hoặc một giá trị kép. Nếu trường không phải là số nguyên hoặc giá trị kép hoặc nếu trường chưa tồn tại, phép biến đổi sẽ đặt trường này thành giá trị đã cho. Nếu một trong hai giá trị đã cho hoặc giá trị của trường hiện tại tăng gấp đôi, thì cả hai giá trị sẽ được hiểu là tăng gấp đôi. Số học kép và biểu diễn các giá trị kép tuân theo ngữ nghĩa của IEEE 754. Nếu bị tràn số nguyên dương/âm, thì trường này sẽ được phân giải thành số nguyên dương/âm có độ lớn lớn nhất.

maximum

object (Value)

Đặt trường thành giá trị tối đa hiện tại của trường và giá trị đã cho.

Đây phải là một số nguyên hoặc một giá trị kép. Nếu trường không phải là số nguyên hoặc giá trị kép hoặc nếu trường chưa tồn tại, phép biến đổi sẽ đặt trường này thành giá trị đã cho. Nếu áp dụng phép toán tối đa khi trường và giá trị đầu vào thuộc kiểu kết hợp (nghĩa là một là số nguyên và một là số nhân đôi), thì trường sẽ nhận kiểu của toán hạng lớn hơn. Nếu các toán hạng là tương đương (ví dụ: 3 và 3.0), thì trường sẽ không thay đổi. 0, 0.0 và -0.0 đều bằng 0. Giá trị tối đa của một giá trị được lưu trữ bằng 0 và giá trị đầu vào bằng 0 luôn là giá trị được lưu trữ. Giá trị lớn nhất của giá trị số x và NaN bất kỳ là NaN.

minimum

object (Value)

Đặt trường thành giá trị nhỏ nhất của giá trị hiện tại và giá trị đã cho.

Đây phải là một số nguyên hoặc một giá trị kép. Nếu trường không phải là số nguyên hoặc giá trị kép hoặc nếu trường chưa tồn tại, phép biến đổi sẽ đặt trường này thành giá trị đầu vào. Nếu áp dụng một phép toán tối thiểu khi trường và giá trị đầu vào thuộc kiểu hỗn hợp (nghĩa là một là số nguyên và một là số nhân đôi), thì trường sẽ nhận kiểu của toán hạng nhỏ hơn. Nếu các toán hạng là tương đương (ví dụ: 3 và 3.0), thì trường sẽ không thay đổi. 0, 0.0 và -0.0 đều bằng 0. Giá trị tối thiểu của một giá trị được lưu trữ bằng 0 và giá trị đầu vào bằng 0 luôn là giá trị được lưu trữ. Giá trị nhỏ nhất của giá trị số x và NaN bất kỳ là NaN.

appendMissingElements

object (ArrayValue)

Thêm các phần tử đã cho theo thứ tự nếu chúng chưa có trong giá trị trường hiện tại. Nếu trường không phải là một mảng hoặc nếu trường này chưa tồn tại, thì trước tiên trường đó được đặt cho mảng trống.

Các số tương đương của các loại khác nhau (ví dụ: 3L và 3.0) được coi là bằng nhau khi kiểm tra xem có thiếu giá trị nào không. NaN bằng NaN và rỗng bằng với Null. Nếu giá trị nhập vào chứa nhiều giá trị tương đương, thì chỉ có giá trị đầu tiên được xem xét.

Biến đổi_kết_quả tương ứng sẽ là giá trị rỗng.

removeAllFromArray

object (ArrayValue)

Xoá tất cả các phần tử đã cho khỏi mảng trong trường. Nếu trường không phải là một mảng hoặc nếu trường này chưa tồn tại, thì trường sẽ được đặt thành mảng trống.

Số lượng tương đương của các loại khác nhau (ví dụ: 3L và 3.0) được coi là bằng nhau khi quyết định có nên xóa một phần tử hay không. NaN bằng NaN và rỗng bằng với Null. Thao tác này sẽ xoá tất cả các giá trị tương đương nếu có trùng lặp.

Biến đổi_kết_quả tương ứng sẽ là giá trị rỗng.

Giá trị máy chủ

Một giá trị do máy chủ tính toán.

Enum
SERVER_VALUE_UNSPECIFIED Không xác định. Không được sử dụng giá trị này.
REQUEST_TIME Thời gian máy chủ xử lý yêu cầu với độ chính xác từng mili giây. Nếu được sử dụng trên nhiều trường (cùng hoặc khác tài liệu) trong một giao dịch, thì tất cả các trường sẽ có cùng dấu thời gian máy chủ.