更新一条数据 PUT
通过以下接口,您可以更新 T1 后端云应用 NoSQL
数据库中的一条数据。
url
http://您已备案域名/v5/classes/<collection_name>/<objectId>
INFO
若 objectId
不存在,系统不会执行任何操作。更新成功后,系统会自动更新 updatedAt
字段。
Date 类型
由于 JSON
数据中只存在字符串类型,不存在 Date
类型数据。因此,您可以使用系统内置 Date
函数,将 RFC3339
格式的日期时间类型的字符串转换为 Date
类型(⚠️ 注意:一定要是 RFC3339
规范的才能被正确转换)。
json
{
"$set": {
"name": "王华华",
"age": 23,
"sex": "女",
"birthday": "Date('2000-07-09T00:00:00Z')"
}
}
更新操作符
操作符 | 说明 |
---|---|
$set | 设置字段的值 |
$unset | 删除字段 |
$inc | 将字段的值增加特定的数量 |
$mul | 将字段的值乘以特定的数量 |
$rename | 重命名字段 |
$min | 仅在字段的值小于指定值时更新字段 |
$max | 仅在字段的值大于指定值时更新字段 |
$push | 将值添加到数组中 |
$pop | 从数组中删除第一个或最后一个元素 |
$pull | 从数组中删除指定条件的元素 |
$addToSet | 向数组添加唯一的值,如果值已存在则不执行操作 |
$each | 与$push 和$addToSet 一起使用,一次添加多个值到数组中 |
$bit | 对字段进行位操作 |
$currentDate | 将字段的值设置为当前日期或当前时间戳 |
请求示例
注意修改大括号中的内容。App ID
、API Key
、Secret Key
请前往仪表盘获取。sign
为签名,签名方式详见请求签名。
shell
curl --location --request PUT 'http://您已备案域名/v5/classes/<collection_name>/<objectId>' \
--header 'X-T1Y-Application-ID: {{app_id}}' \
--header 'X-T1Y-Api-Key: {{api_key}}' \
--header 'X-T1Y-Safe-NonceStr: {{客户端随机生成的32位随机码}}' \
--header 'X-T1Y-Safe-Timestamp: {{Unix时间戳,精确到秒}}' \
--header 'X-T1Y-Safe-Sign: {{MD5(path+app_id+api_key+客户端随机生成的32位随机码+Unix时间戳+Secret_Key)}}' \
--header 'Content-Type: application/json' \
--data-raw '{"$set":{"name": "王华华", "age": 23, "sex": "女", "birthday": "Date('2000-07-09T00:00:00Z')"}}'
shell
curl --location --request PUT "http://您已备案域名/v5/classes/<collection_name>/<objectId>" ^
--header "X-T1Y-Application-ID: {{app_id}}" ^
--header "X-T1Y-Api-Key: {{api_key}}" ^
--header "X-T1Y-Safe-NonceStr: {{客户端随机生成的32位随机码}}" ^
--header "X-T1Y-Safe-Timestamp: {{Unix时间戳,精确到秒}}" ^
--header "X-T1Y-Safe-Sign: {{MD5(path+app_id+api_key+客户端随机生成的32位随机码+Unix时间戳+Secret_Key)}}" ^
--header "Content-Type: application/json" ^
--data-raw "{\"$set\":{\"name\": \"王华华\", \"age\": 23, \"sex\": \"女\", \"birthday\": \"Date('2000-07-09T00:00:00Z')\"}}"
更新数据时可以指定其它操作符。例如可以使用 $inc
操作符,使 number 类型的数据增加指定数值,例如年龄增加一岁:{"$inc": {"age": 1}}
响应示例
操作成功时 http
状态码以及 code
永远是 200
。若需校验响应数据请参考响应签名校验(可选)。
json
{
"code": 200,
"data": null,
"message": "ok"
}
json
{
"code": 400,
"data": null,
"message": "This is an exception message."
}