Write

Uma escrita em um documento.

Representação 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.
}
Campos
updateMask

object ( DocumentMask )

Os campos a serem atualizados nesta gravação.

Este campo pode ser definido somente quando a operação for update . Se a máscara não estiver definida para update e o documento existir, quaisquer dados existentes serão substituídos. Se a máscara estiver definida e o documento no servidor possuir campos não cobertos pela máscara, eles permanecerão inalterados. Os campos referenciados na máscara, mas não presentes no documento de entrada, são excluídos do documento no servidor. Os caminhos dos campos nesta máscara não devem conter um nome de campo reservado.

updateTransforms[]

object ( FieldTransform )

As transformações a serem executadas após a atualização.

Este campo pode ser definido somente quando a operação for update . Se presente, esta gravação equivale a realizar update e transform no mesmo documento atomicamente e em ordem.

currentDocument

object ( Precondition )

Uma pré-condição opcional no documento.

A gravação falhará se isso for definido e não for atendido pelo documento de destino.

operation de campo da União. A operação a ser executada. operation pode ser apenas uma das seguintes:
update

object ( Document )

Um documento para escrever.

delete

string

Um nome de documento a ser excluído. No formato: projects/{projectId}/databases/{databaseId}/documents/{document_path} .

transform

object ( DocumentTransform )

Aplica uma transformação a um documento.

DocumentTransform

Uma transformação de um documento.

Representação JSON
{
  "document": string,
  "fieldTransforms": [
    {
      object (FieldTransform)
    }
  ]
}
Campos
document

string

O nome do documento a ser transformado.

fieldTransforms[]

object ( FieldTransform )

A lista de transformações a serem aplicadas aos campos do documento, em ordem. Isto não deve estar vazio.

Transformação de Campo

Uma transformação de um campo do documento.

Representação 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.
}
Campos
fieldPath

string

O caminho do campo. Consulte Document.fields para obter a referência de sintaxe do caminho do campo.

Campo de união transform_type . A transformação a ser aplicada em campo. transform_type pode ser apenas um dos seguintes:
setToServerValue

enum ( ServerValue )

Define o campo para o valor do servidor fornecido.

increment

object ( Value )

Adiciona o valor fornecido ao valor atual do campo.

Deve ser um número inteiro ou um valor duplo. Se o campo não for um número inteiro ou duplo, ou se o campo ainda não existir, a transformação definirá o campo com o valor fornecido. Se o valor fornecido ou o valor do campo atual forem duplos, ambos os valores serão interpretados como duplos. A aritmética dupla e a representação de valores duplos seguem a semântica IEEE 754. Se houver estouro de número inteiro positivo/negativo, o campo será resolvido para o número inteiro positivo/negativo de maior magnitude.

maximum

object ( Value )

Define o campo para o máximo entre seu valor atual e o valor fornecido.

Deve ser um número inteiro ou um valor duplo. Se o campo não for um número inteiro ou duplo, ou se o campo ainda não existir, a transformação definirá o campo com o valor fornecido. Se uma operação máxima for aplicada onde o campo e o valor de entrada são de tipos mistos (isto é - um é um número inteiro e o outro é um duplo), o campo assume o tipo do operando maior. Se os operandos forem equivalentes (ex. 3 e 3.0), o campo não muda. 0, 0,0 e -0,0 são todos zero. O máximo de um valor armazenado zero e um valor de entrada zero é sempre o valor armazenado. O máximo de qualquer valor numérico x e NaN é NaN.

minimum

object ( Value )

Define o campo para o mínimo entre seu valor atual e o valor fornecido.

Deve ser um número inteiro ou um valor duplo. Se o campo não for um número inteiro ou duplo, ou se o campo ainda não existir, a transformação definirá o campo com o valor de entrada. Se uma operação mínima for aplicada onde o campo e o valor de entrada são de tipos mistos (isto é - um é um número inteiro e o outro é um duplo), o campo assume o tipo do operando menor. Se os operandos forem equivalentes (ex. 3 e 3.0), o campo não muda. 0, 0,0 e -0,0 são todos zero. O mínimo de um valor armazenado zero e um valor de entrada zero é sempre o valor armazenado. O mínimo de qualquer valor numérico x e NaN é NaN.

appendMissingElements

object ( ArrayValue )

Anexe os elementos fornecidos em ordem, caso eles ainda não estejam presentes no valor do campo atual. Se o campo não for uma matriz ou se ainda não existir, ele será primeiro definido como uma matriz vazia.

Números equivalentes de tipos diferentes (por exemplo, 3L e 3,0) são considerados iguais ao verificar se um valor está faltando. NaN é igual a NaN e Nulo é igual a Nulo. Se a entrada contiver vários valores equivalentes, apenas o primeiro será considerado.

O transform_result correspondente será o valor nulo.

removeAllFromArray

object ( ArrayValue )

Remova todos os elementos fornecidos da matriz no campo. Se o campo não for uma matriz ou se o campo ainda não existir, ele será definido como uma matriz vazia.

Números equivalentes dos diferentes tipos (por exemplo, 3L e 3,0) são considerados iguais ao decidir se um elemento deve ser removido. NaN é igual a NaN e Nulo é igual a Nulo. Isso removerá todos os valores equivalentes se houver duplicatas.

O transform_result correspondente será o valor nulo.

Valor do servidor

Um valor calculado pelo servidor.

Enums
SERVER_VALUE_UNSPECIFIED Não especificado. Este valor não deve ser usado.
REQUEST_TIME A hora em que o servidor processou a solicitação, com precisão de milissegundos. Se usado em vários campos (documentos iguais ou diferentes) em uma transação, todos os campos receberão o mesmo carimbo de data/hora do servidor.