Write

문서에 대한 쓰기입니다.

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.
}
필드
updateMask

object (DocumentMask)

이 쓰기에서 업데이트할 필드입니다.

이 필드는 작업이 update인 경우에만 설정할 수 있습니다. update에 마스크가 설정되어 있지 않고 문서가 있는 경우 기존 데이터를 모두 덮어씁니다. 마스크가 설정되어 있고 서버의 문서에 마스크가 적용되지 않는 필드가 있으면 변경되지 않습니다. 마스크에서는 참조되었지만 입력 문서에는 없는 필드는 서버의 문서에서 삭제됩니다. 이 마스크의 필드 경로는 예약된 필드 이름을 포함할 수 없습니다.

updateTransforms[]

object (FieldTransform)

업데이트 후에 수행할 변환입니다.

이 필드는 작업이 update인 경우에만 설정할 수 있습니다. 있는 경우 이 쓰기는 동일한 문서에 updatetransform를 원자적으로 순서대로 실행하는 것과 같습니다.

currentDocument

object (Precondition)

문서의 전제 조건(선택사항)입니다.

이 값을 설정하고 대상 문서에서 충족하지 않으면 쓰기가 실패합니다.

통합 필드 operation. 실행할 작업입니다. operation은 다음 중 하나여야 합니다.
update

object (Document)

작성할 문서입니다.

delete

string

삭제할 문서 이름입니다. 형식은 projects/{projectId}/databases/{databaseId}/documents/{document_path}입니다.

transform

object (DocumentTransform)

문서에 변환을 적용합니다.

DocumentTransform

문서의 변환입니다.

JSON 표현
{
  "document": string,
  "fieldTransforms": [
    {
      object (FieldTransform)
    }
  ]
}
필드
document

string

변환할 문서의 이름입니다.

fieldTransforms[]

object (FieldTransform)

문서의 필드에 적용할 변환 목록을 순서대로 표시합니다. 필수 입력란입니다.

FieldTransform

문서의 필드 변환입니다.

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.
}
필드
fieldPath

string

필드의 경로입니다. 필드 경로 구문 참조는 Document.fields를 참고하세요.

통합 필드 transform_type. 필드에 적용할 변환입니다. transform_type은 다음 중 하나여야 합니다.
setToServerValue

enum (ServerValue)

필드를 지정된 서버 값으로 설정합니다.

increment

object (Value)

지정된 값을 필드의 현재 값에 추가합니다.

정수 또는 double 값이어야 합니다. 필드가 정수 또는 double이 아니거나 필드가 아직 존재하지 않는 경우, 변환은 필드를 지정된 값으로 설정합니다. 지정된 값 또는 현재 필드 값 중 하나가 double인 경우 두 값 모두 double로 해석됩니다. double 값의 이중 산술과 표현은 IEEE 754 시맨틱을 따릅니다. 양의 정수/음의 정수 오버플로가 있는 경우, 필드는 가장 큰 양의 정수/음의 정수로 확인됩니다.

maximum

object (Value)

필드를 현재 값과 지정된 값의 최댓값으로 설정합니다.

정수 또는 double 값이어야 합니다. 필드가 정수 또는 double이 아니거나 필드가 아직 존재하지 않는 경우, 변환은 필드를 지정된 값으로 설정합니다. 필드와 입력 값이 혼합된 유형 (즉, 1은 정수이고 1은 double)인 최대 연산이 적용되는 경우 필드는 더 큰 피연산자의 유형을 취합니다. 피연산자가 같은 경우 (예: 3과 3.0) 필드는 변경되지 않습니다. 0, 0.0 및 -0.0은 모두 0입니다. 저장 값 0과 입력 값 0의 최댓값은 항상 저장 값입니다. 숫자 값 x 및 NaN의 최댓값은 NaN입니다.

minimum

object (Value)

필드를 현재 값과 지정된 값의 최솟값으로 설정합니다.

정수 또는 double 값이어야 합니다. 필드가 정수 또는 double이 아니거나 필드가 아직 존재하지 않는 경우, 변환은 필드를 입력 값으로 설정합니다. 필드와 입력 값이 혼합된 유형 (즉, 1은 정수이고 1은 double)인 최소 연산이 적용되는 경우 필드는 더 작은 피연산자의 유형을 취합니다. 피연산자가 같은 경우 (예: 3과 3.0) 필드는 변경되지 않습니다. 0, 0.0 및 -0.0은 모두 0입니다. 저장 값 0과 입력 값 0의 최솟값은 항상 저장 값입니다. 숫자 값 x 및 NaN의 최솟값은 NaN입니다.

appendMissingElements

object (ArrayValue)

지정된 요소가 현재 필드 값에 아직 없는 경우 순서대로 추가합니다. 필드가 배열이 아니거나 필드가 아직 존재하지 않는 경우 먼저 빈 배열로 설정됩니다.

다른 유형 (예: 3L 및 3.0)에 상응하는 값은 값이 누락되었는지 확인할 때 동일한 것으로 간주됩니다. NaN은 NaN과 같고 Null은 Null과 같습니다. 입력에 동일한 값이 여러 개 포함되어 있으면 첫 번째 값만 고려됩니다.

해당하는 transform_result가 null 값이 됩니다.

removeAllFromArray

object (ArrayValue)

필드의 배열에서 지정된 요소를 모두 삭제합니다. 필드가 배열이 아니거나 필드가 아직 존재하지 않는 경우 빈 배열로 설정됩니다.

요소를 삭제해야 하는지 여부를 결정할 때 서로 다른 유형 (예: 3L 및 3.0)의 등가는 동일한 것으로 간주됩니다. NaN은 NaN과 같고 Null은 Null과 같습니다. 중복이 있는 경우 상응하는 모든 값이 삭제됩니다.

해당하는 transform_result가 null 값이 됩니다.

ServerValue

서버에서 계산하는 값입니다.

열거형
SERVER_VALUE_UNSPECIFIED 지정되지 않음. 이 값을 사용해서는 안 됩니다.
REQUEST_TIME 서버가 요청을 처리한 시간입니다(밀리초 단위). 트랜잭션의 여러 필드 (동일하거나 다른 문서)에 사용되는 경우 모든 필드에 동일한 서버 타임스탬프가 적용됩니다.