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次のいずれか 1 つだけです。
update

object ( Document )

書く書類。

delete

string

削除するドキュメント名。形式は、 projects/{projectId}/databases/{databaseId}/documents/{document_path}

transform

object ( DocumentTransform )

ドキュメントに変換を適用します。

ドキュメント変換

文書の変換。

JSON表現
{
  "document": string,
  "fieldTransforms": [
    {
      object (FieldTransform)
    }
  ]
}
田畑
document

string

変換するドキュメントの名前。

fieldTransforms[]

object ( 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次のいずれか 1 つだけです。
setToServerValue

enum ( ServerValue )

フィールドを指定されたサーバー値に設定します。

increment

object ( Value )

指定された値をフィールドの現在の値に追加します。

これは整数または double 値である必要があります。フィールドが整数または倍精度でない場合、またはフィールドがまだ存在しない場合、変換によってフィールドは指定された値に設定されます。指定された値または現在のフィールド値のいずれかが double の場合、両方の値が double として解釈されます。 double の算術演算と double 値の表現は、IEEE 754 のセマンティクスに従います。正/負の整数のオーバーフローがある場合、フィールドは最大の大きさの正/負の整数に解決されます。

maximum

object ( Value )

フィールドを現在の値と指定された値の最大値に設定します。

これは整数または double 値である必要があります。フィールドが整数または倍精度でない場合、またはフィールドがまだ存在しない場合、変換によってフィールドは指定された値に設定されます。フィールドと入力値の型が混在している (つまり、1 つは整数、もう 1 つは double) 場合に最大演算が適用される場合、フィールドは大きい方のオペランドの型を受け取ります。オペランドが等しい場合 (例: 3 と 3.0)、フィールドは変更されません。 0、0.0、および -0.0 はすべてゼロです。ゼロの保存値とゼロの入力値の最大値は、常に保存された値になります。数値 x と NaN の最大値は NaN です。

minimum

object ( Value )

フィールドを現在の値と指定された値の最小値に設定します。

これは整数または double 値である必要があります。フィールドが整数または倍精度でない場合、またはフィールドがまだ存在しない場合、変換によりフィールドが入力値に設定されます。フィールドと入力値の型が混在している (つまり、1 つは整数、もう 1 つは double) 場合に最小演算が適用される場合、フィールドは小さい方のオペランドの型を受け取ります。オペランドが等しい場合 (例: 3 と 3.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値になります。

サーバー値

サーバーによって計算される値。

列挙型
SERVER_VALUE_UNSPECIFIED不特定。この値は使用してはなりません。
REQUEST_TIMEサーバーがリクエストを処理した時刻 (ミリ秒精度)。トランザクション内の複数のフィールド (同じまたは異なるドキュメント) で使用される場合、すべてのフィールドが同じサーバー タイムスタンプを取得します。