更新单个kv
功能介绍
指定表,指定主键,指定更新文档的部分内容,如果是自描述文档,指定字段名;如果是二进制文档,指定偏移位置和长度;允许指定条件执行。
URI
POST /v1/update-kv
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
store_name |
否 |
String |
仓名,全域唯一,不同租户的仓名不能相同。
说明:
"-"不能出现在名字头部或尾部 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
table_name |
是 |
String |
表名,仓内唯一。
|
primary_key |
是 |
Document |
用户自定义的主键名及值。
说明:
内容字段:主键字段名和值,组合索引多个元素。 |
condition_expression |
否 |
condition_expression object |
条件表达式,参见conditional小节,禁止携带主键字段。 |
update_fields |
否 |
update_fields object |
对kv_doc有效。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
single_field_expression |
否 |
single_field_expression object |
单字段条件。 |
multi_field_expression |
否 |
multi_field_expression object |
多字段条件,多个相同优先级的单字段条件。 |
composed_expression |
否 |
composed_expression object |
组合条件, 逐层同级的子表达式嵌套。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
logic |
否 |
String |
多字段条件,多个相同优先级的单字段条件。 |
expressions |
是 |
Array of single_field_expression objects |
多个相同逻辑操作的单字段条件。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
field |
是 |
String |
条件字段。 |
func |
是 |
String |
条件函数,取值如"$gt", $lt","$gte", $lte" "$eq", "$ne", "$prefix", "$exists"。 |
value |
否 |
Document |
value和value_array二选一。
说明:
$prefix操作只适用于string和binary类型。 |
value_array |
否 |
Array of strings |
"value"和"value_array"二选一。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
logic |
否 |
String |
逻辑关系,取值如"$and", "$or", "$nor"。 |
expressions |
是 |
Array of expression objects |
多个相同优先级且相同逻辑的单字段或多字段条件。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
single_field_expression |
否 |
single_field_expression object |
单字段条件。 |
multi_field_expression |
否 |
single_field_expression object |
多字段条件,多个相同优先级的单字段条件。 |
composed_expression |
否 |
composed_expression object |
组合条件, 逐层同级的子表达式嵌套。 |
响应参数
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
请求返回的错误码。 |
error_msg |
String |
请求返回的错误信息。 |
请求示例
更新单个kv,设置表名为test-table-1,设置更新的kv分区键值为user1,排序键为test-file-1,设置更新的鑫数据为非结构化数据。
POST https://{endpoint}/v1/update-kv { "table_name" : "test-table-1", "primary_key" : { "owner" : "user-1", "filename" : "test-file-1" }, "update_fields" : { "set" : { "updateKey" : "updateValue" } } }
响应示例
无
状态码
状态码 |
描述 |
---|---|
200 |
表示更新单个kv请求成功 |
400 |
BadRequest |
错误码
请参见错误码。