Write

Écriture sur un document.

Représentation 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.
}
Champs
updateMask

object (DocumentMask)

Champs à mettre à jour dans cette écriture.

Ce champ ne peut être défini que lorsque l'opération est update. Si le masque n'est pas défini pour un update et que le document existe, toutes les données existantes seront écrasées. Si le masque est défini et que le document sur le serveur comporte des champs qui ne sont pas masqués, ceux-ci ne sont pas modifiés. Les champs référencés dans le masque, mais non présents dans le document d'entrée, sont supprimés du document sur le serveur. Les chemins d'accès aux champs de ce masque ne doivent pas contenir de nom de champ réservé.

updateTransforms[]

object (FieldTransform)

Transformations à effectuer après la mise à jour.

Ce champ ne peut être défini que lorsque l'opération est update. Si cette écriture est présente, cela équivaut à exécuter update et transform sur le même document de manière atomique et dans l'ordre.

currentDocument

object (Precondition)

Une condition préalable facultative sur le document.

L'écriture échoue si elle est définie et si le document cible n'atteint pas cette condition.

Champ d'union operation. Opération à exécuter. operation ne peut être qu'un des éléments suivants :
update

object (Document)

Un document à écrire.

delete

string

Nom de document à supprimer. Format à respecter: projects/{projectId}/databases/{databaseId}/documents/{document_path}.

transform

object (DocumentTransform)

Applique une transformation à un document.

DocumentTransform

Transformation d'un document.

Représentation JSON
{
  "document": string,
  "fieldTransforms": [
    {
      object (FieldTransform)
    }
  ]
}
Champs
document

string

Nom du document à transformer.

fieldTransforms[]

object (FieldTransform)

Liste des transformations à appliquer aux champs du document, dans l'ordre. Ce champ est obligatoire.

FieldTransform

Transformation d'un champ du document.

Représentation 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.
}
Champs
fieldPath

string

Chemin d'accès du champ. Consultez Document.fields pour obtenir des informations de référence sur la syntaxe des chemins d'accès au champ.

Champ d'union transform_type. Transformation à appliquer sur le champ. transform_type ne peut être qu'un des éléments suivants :
setToServerValue

enum (ServerValue)

Définit le champ sur la valeur de serveur indiquée.

increment

object (Value)

Ajoute la valeur donnée à la valeur actuelle du champ.

Il doit s'agir d'un nombre entier ou d'une valeur double. Si le champ n'est pas un nombre entier ou double, ou si le champ n'existe pas encore, la transformation définira le champ sur la valeur donnée. Si la valeur donnée ou la valeur actuelle du champ sont des doubles, les deux valeurs seront interprétées comme des doubles. La double arithmétique et la représentation des valeurs doubles suivent la sémantique IEEE 754. En cas de dépassement d'entiers positifs/négatifs, le champ est résolu au plus grand nombre entier positif/négatif.

maximum

object (Value)

Définit le champ sur la valeur maximale de sa valeur actuelle et de la valeur donnée.

Il doit s'agir d'un nombre entier ou d'une valeur double. Si le champ n'est pas un nombre entier ou double, ou si le champ n'existe pas encore, la transformation définira le champ sur la valeur donnée. Si une opération maximale est appliquée lorsque le champ et la valeur d'entrée sont de types mixtes (c'est-à-dire que l'un est un entier et l'autre un double), le champ prend le type de l'opérande le plus grand. Si les opérandes sont équivalents (par exemple, 3 et 3.0), le champ ne change pas. 0, 0,0 et -0,0 sont tous nuls. Le maximum d'une valeur stockée nulle et d'une valeur d'entrée égale à zéro correspond toujours à la valeur stockée. Le maximum de toute valeur numérique x et NaN est NaN.

minimum

object (Value)

Définit le champ sur la valeur minimale de sa valeur actuelle et de la valeur donnée.

Il doit s'agir d'un nombre entier ou d'une valeur double. Si le champ n'est pas un nombre entier ni un nombre double, ou si le champ n'existe pas encore, la transformation définira le champ sur la valeur d'entrée. Si une opération minimale est appliquée lorsque le champ et la valeur d'entrée sont de types mixtes (c'est-à-dire, un est un entier et un est un double), le champ prend le type du plus petit opérande. Si les opérandes sont équivalents (par exemple, 3 et 3.0), le champ ne change pas. 0, 0,0 et -0,0 sont tous nuls. La valeur stockée minimale et la valeur d'entrée nulle sont toujours égales à la valeur stockée. Le minimum de toute valeur numérique x et NaN est NaN.

appendMissingElements

object (ArrayValue)

Permet d'ajouter les éléments indiqués dans l'ordre s'ils ne sont pas déjà présents dans la valeur actuelle du champ. Si le champ n'est pas un tableau ou s'il n'existe pas encore, il est d'abord défini sur le tableau vide.

Les nombres équivalents de différents types (par exemple, 3L et 3,0) sont considérés comme égaux lorsque vous vérifiez s'il manque une valeur. NaN est égal à NaN, et Null est égal à Null. Si l'entrée contient plusieurs valeurs équivalentes, seule la première sera prise en compte.

Le résultat transform_result correspondant sera la valeur nulle.

removeAllFromArray

object (ArrayValue)

Supprimez tous les éléments indiqués du tableau du champ. Si le champ n'est pas un tableau ou s'il n'existe pas encore, il est défini sur le tableau vide.

Les nombres équivalents des différents types (par exemple, 3L et 3,0) sont considérés comme égaux au moment de décider si un élément doit être supprimé. NaN est égal à NaN, et Null est égal à Null. Cela supprimera toutes les valeurs équivalentes s'il y a des doublons.

Le résultat transform_result correspondant sera la valeur nulle.

ServerValue

Valeur calculée par le serveur.

Enums
SERVER_VALUE_UNSPECIFIED URL indéterminée. Cette valeur ne doit pas être utilisée.
REQUEST_TIME Heure à laquelle le serveur a traité la requête, avec une précision à la milliseconde. S'ils sont utilisés dans plusieurs champs (mêmes documents ou documents différents) dans une transaction, tous les champs obtiendront le même horodatage de serveur.