我的Firebase实时数据库如下:
我想从中删除最后一个节点-M8VOQO11nYo8iMC6NZ_
。
在Firebase REST API的正式文档中,要删除它的CURL代码为curl -X DELETE \
'https://[PROJECT_ID].firebaseio.com/Texter.json'
,但它删除了整个分支。有没有办法只删除最后一个节点?
答案 0 :(得分:0)
仅当知道节点的整个路径时,才可以写入/删除节点。因此,要删除最后一个子节点,您需要执行两个步骤:
GET
call确定最后一个子节点的密钥DELETE
调用来删除该路径。查询将类似于:
https://[PROJECT_ID].firebaseio.com/Texter.json?orderBy="$key"&limitToLast=1
答案 1 :(得分:0)
我找到了这个解决方案:
获取最后一个节点的端点
url = https://[PROJECT_ID].firebaseio.com/Texter.json?orderBy="$key"&limitToLast=1
获取响应
response= requests.get(url)
从响应中提取最后一个节点索引
last_node = list(response.json().keys())[0]
删除该节点的端点
del_url = f'https://[PROJECT_ID].firebaseio.com/Texter/{last_node}.json'
使用端点中的该节点索引调用删除
del_res = requests.delete(del_url)