写在文档上。
JSON 表示 |
---|
{ "updateMask": { object ( |
领域 | |
---|---|
updateMask | 在此写入中要更新的字段。 仅当操作为 |
updateTransforms[] | 更新后要执行的转换。 仅当操作为 |
currentDocument | 文档的可选前提条件。 如果目标文档不满足此设置,则写入将失败。 |
联盟野外operation 。要执行的操作。 operation 只能是以下操作之一: | |
update | 要写的文档。 |
delete | 要删除的文档名称。格式为: |
transform | 对文档应用转换。 |
文档转换
文档的转换。
JSON 表示 |
---|
{
"document": string,
"fieldTransforms": [
{
object ( |
领域 | |
---|---|
document | 要转换的文档的名称。 |
fieldTransforms[] | 按顺序应用于文档字段的转换列表。这不能为空。 |
场变换
文档字段的转换。
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将为空值。 |
removeAllFromArray | 从字段中的数组中删除所有给定的元素。如果该字段不是数组,或者该字段尚不存在,则将其设置为空数组。 在决定是否应删除某个元素时,不同类型的等效数字(例如 3L 和 3.0)被认为是相等的。 NaN 等于 NaN,Null 等于 Null。如果存在重复项,这将删除所有等效值。 相应的transform_result将为空值。 |
服务器价值
由服务器计算的值。
枚举 | |
---|---|
SERVER_VALUE_UNSPECIFIED | 未指定。不得使用该值。 |
REQUEST_TIME | 服务器处理请求的时间,精确到毫秒。如果在事务中的多个字段(相同或不同的文档)上使用,所有字段将获得相同的服务器时间戳。 |