Firebase REST API:删除有时会失败

时间:2016-08-09 15:53:32

标签: matlab rest firebase firebase-realtime-database

我目前正在为Matlab程序构建一个Web前端。我正在使用webread / webwrite与Firebase实时数据库进行交互(虽然出于兼容性原因,我很快就会转移到urlread2)。 Matlab端必须定期从数据库中删除节点。我这样做是通过使用webwrite发送POST请求并在标头中放入“X-HTTP-Method-Override:DELETE”。这有效,但在删除几次后,它会停止工作,直到数据被添加到数据库或从数据库中删除。这似乎是完全随意的,我的队友和我一直试图找到一个模式几天,我们什么都没发现。

以下是相关的Matlab代码:

modurl = strcat(url, modkey, '.json');
modurlstr = char(modurl);
webop = weboptions('KeyName', 'X-HTTP-Method-Override', 'KeyValue','DELETE');
webwrite(modurlstr, webop);

其中url是我们的数据库url,而modkey是我们尝试删除的节点的关键。没有身份验证,因为数据库设置为公共(安全性对我们来说不是问题)。

数据库组织非常简单。根节点只有一堆孩子。我们只删除整个孩子(即我们从未尝试删除孩子的各个组成部分)。

我们做错了吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我们发现其中一些键有连字符,它们被转换为ascii表示。它似乎是随机的原因是因为删除仅仅是在其键中带有连字符的节点上。当我们切换它们时,一切正常。