文档上的写入操作。
JSON 表示法 |
---|
{ "updateMask": { object ( |
字段 | |
---|---|
updateMask |
此写入操作中要更新的字段。 只有在操作为 |
updateTransforms[] |
更新后要执行的转换。 只有在操作为 |
currentDocument |
文档的可选前提条件。 如果已设置此属性,但目标文档未满足此要求,则写入将失败。 |
联合字段 operation 。要执行的操作。operation 只能是下列其中一项: |
|
update |
要写入的文档。 |
delete |
要删除的文档的名称。格式为: |
transform |
对文档应用转换。 |
DocumentTransform
文档的转换。
JSON 表示法 |
---|
{
"document": string,
"fieldTransforms": [
{
object ( |
字段 | |
---|---|
document |
要转换的文档的名称。 |
fieldTransforms[] |
要按顺序应用于文档中各字段的转换列表。此字段不能留空。 |
FieldTransform
文档字段的转换。
JSON 表示法 |
---|
{ "fieldPath": string, // Union field |
字段 | |
---|---|
fieldPath |
字段的路径。有关字段路径语法参考文档,请参阅 |
联合字段 transform_type 。要应用于字段的转换。transform_type 只能是下列其中一项: |
|
setToServerValue |
将该字段设置为指定的服务器值。 |
increment |
将指定值与字段的当前值相加。 它必须是整数或双精度值。如果该字段不是整数或双精度值,或者该字段尚不存在,则转换会将该字段设置为给定值。如果给定值或当前字段值是双精度类型,则这两个值都将被解读为双精度类型。双精度值的双精度算术和表示形式遵循 IEEE 754 语义。如果存在正/负整数溢出,则该字段解析为最大幅度的正/负整数。 |
maximum |
将字段设置为其当前值与指定值的最大值。 它必须是整数或双精度值。如果该字段不是整数或双精度值,或者该字段尚不存在,则转换会将该字段设置为给定值。如果在字段和输入值是混合类型(即一个是整数,一个是双精度类型)的情况下应用最大值运算,则字段将采用较大运算数的类型。如果运算数相等(例如 3 和 3.0),此字段不会更改。0、0.0 和 -0.0 都是零。存储值为零和输入值的最大值始终为存储值。任意数值 x 和 NaN 的最大值为 NaN。 |
minimum |
将字段设置为其当前值和指定值的最小值。 它必须是整数或双精度值。如果字段不是整数或双精度值,或者该字段尚不存在,则转换会将该字段设置为输入值。如果在字段和输入值属于混合类型(即一个是整数,一个是双精度类型)的情况下应用最小运算,则字段将采用较小运算数的类型。如果运算数相等(例如 3 和 3.0),此字段不会更改。0、0.0 和 -0.0 都是零。存储值为零和输入值的最小值始终为存储值。任意数值 x 和 NaN 的最小值为 NaN。 |
appendMissingElements |
如果当前字段值中尚不存在给定元素,请按顺序附加这些元素。如果该字段不是数组,或者该字段尚不存在,则会先将其设置为空数组。 在检查值是否缺失时,将不同类型的等效数字(例如 3L 和 3.0)视为相等。NaN 等于 NaN,Null 等于 Null。如果输入包含多个等值值,系统将只考虑第一个值。 相应的 transform_result 将是 null 值。 |
removeAllFromArray |
从该字段的数组中移除所有给定元素。如果该字段不是数组,或者该字段尚不存在,则将其设置为空数组。 在决定是否移除某个元素时,不同类型(例如 3L 和 3.0)的等效数字会被视为相等。NaN 等于 NaN,Null 等于 Null。如果存在重复项,这将移除所有等效值。 相应的 transform_result 将是 null 值。 |
ServerValue
由服务器计算的值。
枚举 | |
---|---|
SERVER_VALUE_UNSPECIFIED |
未指定。不得使用此值。 |
REQUEST_TIME |
服务器处理请求的时间(精确到毫秒)。如果用于事务中的多个字段(相同或不同的文档),则所有字段都将获得相同的服务器时间戳。 |