Skip to content

批量更新数据 PUT

通过以下接口,您可以批量更新 T1 后端云应用 NoSQL 数据库中的多条数据。

url
http://您已备案域名/v5/classes/<collection_name>/batch

INFO

objectId 不存在,系统不会执行任何操作。更新成功后,系统会自动更新 updatedAt 字段。

Date 类型

由于 JSON 数据中只存在字符串类型,不存在 Date 类型数据。因此,您可以使用系统内置 Date 函数,将 RFC3339 格式的日期时间类型的字符串转换为 Date 类型(⚠️ 注意:一定要是 RFC3339 规范的才能被正确转换)。

json
[
    {
        "id": "65435f093b239fddbc3f6474",
        "body": {
            "$set": {
                "name": "王华华",
                "age": 23,
                "sex": "女",
                "birthday": "Date('2000-07-09T00:00:00Z')"
            }
        }
    },
    {
        "id": "65435f093b239fddbc3f646e",
        "body": {
            "$set": {
                "name": "林黛玉",
                "age": 33,
                "sex": "女",
                "birthday": "Date('1990-07-09T00:00:00Z')"
            }
        }
    }
]
更新操作符
操作符说明
$set设置字段的值
$unset删除字段
$inc将字段的值增加特定的数量
$mul将字段的值乘以特定的数量
$rename重命名字段
$min仅在字段的值小于指定值时更新字段
$max仅在字段的值大于指定值时更新字段
$push将值添加到数组中
$pop从数组中删除第一个或最后一个元素
$pull从数组中删除指定条件的元素
$addToSet向数组添加唯一的值,如果值已存在则不执行操作
$each$push$addToSet一起使用,一次添加多个值到数组中
$bit对字段进行位操作
$currentDate将字段的值设置为当前日期或当前时间戳

请求示例

注意修改大括号中的内容。App IDAPI KeySecret Key 请前往仪表盘获取。sign 为签名,签名方式详见请求签名。

shell
curl --location --request PUT 'http://您已备案域名/v5/classes/<collection_name>/batch' \
--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 '[{"id": "65435f093b239fddbc3f646e", "body": {"$set":{"name": "王华华", "age": 23, "sex": "女", "birthday": "Date('2000-07-09T00:00:00Z')"}}}, {"id": "65435f093b239fddbc3f6474", "body": {"$set":{"name": "林黛玉", "age": 33, "sex": "女", "birthday": "Date('1990-07-09T00:00:00Z')"}}}]'
shell
curl --location --request PUT "http://您已备案域名/v5/classes/<collection_name>/batch" ^
--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 "[{\"id\": \"65435f093b239fddbc3f646e\", \"body\": {\"$set\":{\"name\": \"王华华\", \"age\": 23, \"sex\": \"\", \"birthday\": \"Date('2000-07-09T00:00:00Z')\"}}}, {\"id\": \"65435f093b239fddbc3f6474\", \"body\": {\"$set\":{\"name\": \"林黛玉\", \"age\": 33, \"sex\": \"\", \"birthday\": \"Date('1990-07-09T00:00:00Z')\"}}}]"

请求体 --data-raw 中的数组元素解析:id 为数据唯一标识信息,body 为更新操作(同更新一条数据请求体)。

响应示例

操作成功时 http 状态码以及 code 永远是 200。更新成功会返回 updatedCount ,该字段表示成功更新的数据条目总数。若需校验响应数据请参考响应签名校验(可选)。

json
{
    "code": 200,
    "data": {
        "updatedCount": 2
    },
    "message": "ok"
}
json
{
    "code": 400,
    "data": null,
    "message": "This is an exception message."
}

技术支持、市场合作:wwwanghua@outlook.com