数据操作 编辑文档

本篇文档介绍如何进行数据操作,分为写入,更新和删除数据。

数据操作包含以下五种请求类型:

方法 说明
PUT 向指定 节点写入数据。若此节点已存在数据,会覆盖原有数据。
POST 向指定节点添加 子节点。子节点的 key 自动生成并保证唯一。
PATCH 更新指定子节点。
DELETE 删除指定节点。

写入数据

PUT 请求用于向指定节点写入数据。此方法会先清空指定节点,再写入数据。

例如,向 alanisawesome 节点写入 namebirthday

curl -X PUT -d '{
"alanisawesome": {
"name": "Alan Turing",
"birthday": "June 23, 1912"
}
}' 'https://docs-examples.wilddogio.com/rest/saving-data/wildblog/users.json'

成功的请求将返回 HTTP 200 OK 状态码,并且响应中会包含写入的数据。

追加子节点

POST 请求用于向指定节点添加子节点。新增子节点的 key 由 Wilddog Sync 自动生成并保证唯一。 新增子节点的 key 基于时间戳和随机算法生成,并可以按照添加时间进行排序。

例如,追加子节点到 posts 节点:

curl -X POST -d '{
"author": "alanisawesome",
"title": "The Turing Machine"
}' 'https://docs-examples.wilddogio.com/rest/saving-data/wildblog/posts.json'

posts 路径下的数据将会是这样:

{
"posts": {
"-JRHTHaKuITFIhnj02kE": {
"author": "alanisawesome",
"title": "The Turing Machine"
}
}
}

成功的请求将返回 HTTP 200 OK 状态码,并且响应中会包含新数据的key:

{"name":"-JRHTHaKuITFIhnj02kE"}

提示:



POST 请求可能默认的 Content-Typeapplication/x-www-form-urlencoded,为防止解析数据失败,需要指定 Content-Typeapplication/json

更新数据

PATCH 请求用于更新指定子节点。

例如,更新 gracehopnickname

//原数据如下
{
"gracehop": {
"nickname": "Nice Grace",
"date_of_birth": "December 9, 1906",
"full_name ": "Grace Lee"
}
}

只更新 gracehopnickname:

curl -X PATCH -d '{
"nickname": "Amazing grace"
}' 'https://docs-examples.wilddogio.com/rest/saving-data/users/gracehop.json'

成功的请求将返回 HTTP 200 OK 状态码。

PATCH 请求支持多路径更新,可以只调用一次方法更新多个路径的数据。

例如,同时更新 b 节点下的 d 和 x 节点下的 z:

//原数据如下
{
"a": {
"b": {
"c": "cc",
"d": "dd"
},
"x": {
"y": "yy",
"z": "zz"
}
}
}

正确示例:

curl -X PATCH -d '{"b/d":"updateD", "x/z":"updateZ"}' \
'https://samplechat.wilddogio.com/a/.json'

更新后数据如下:

{
"a": {
"b": {
"c": "cc",
"d": "updateD"
},
"x": {
"y": "yy",
"z": "updateZ"
}
}
}

错误示例:

// 错误的多路径更新写法,会覆盖原有数据
curl -X PATCH -d '{"b":{"d":"updateD"}, "x":{"z":"updateZ"}}' \
'https://samplechat.wilddogio.com/a/.json'

更新后数据如下

{
"a": {
"b": {
"d": "updateD"
},
"x": {
"z": "updateZ"
}
}
}

删除数据

DELETE 请求用于删除指定节点。

curl -X DELETE \
'https://docs-examples.wilddogio.com/rest/saving-data/users/alanisawesome.json'

成功的请求将返回 HTTP 200 OK 状态码,和一个空的 JSON。

野狗新手?
立即注册,为你提供安全可靠的实时通信云服务。
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题
期待收到你的反馈,帮助我们改进文档。
参与调研