我正在使用MatLab将数据从MatLab写到Firebase。为此,我使用了以下几行代码:
thingSpeakURL = 'https://hybrid-cabinet-265907.firebaseio.com/Ship A/Time Stamp.json';
lat = num2str(42);
lon = num2str(42);
data = struct('lat',lat,'lon',lon);
webwrite(thingSpeakURL,data)
数据已成功写入Firebase。它使我的原始JSON数据成为运行时生成的随机字符串的子级。例如,我的JSON字符串是{lat:‘40’,lon:‘40’},但是它创建了一个随机字符串,比方说,“Mxkllslsll-1112”,将该随机字符串作为父字符串,并将类似于{“Mxkllslsll-1112”:lat:‘40’,lon:‘40’}的内容写入Firebase数据库。
请看下图。它表明,对于船舶A,我已经从MatLab中写入了数据,但它没有正确写入(我面临着我上面讨论的问题)。我想让它有点像为船B.
编写的数据
我想写入数据,而不将任何随机字符串作为父级。在那件事上请帮助我。
2条答案
按热度按时间fzwojiic1#
这是因为
webwrite
默认使用HTTP POST方法。如Firebase Realtime数据库REST API文档所示,如果您执行POST,您将推送数据,因此每次将新的子项添加到指定的Firebase引用(我们可以在您的问题中看到的
-MDJVMk.....
值)时,会自动生成唯一的密钥。您需要使用PUT方法。
我不知道matlab,但快速查看documentation就会发现,您需要在
weboptions
对象中使用带有put
值的RequestMethod
选项。iibxawm42#
以上这些将我推向了正确的方向(谢谢!),我在以下几个方面取得了成功。
**注意:**以下内容将覆盖您数据库中的所有内容!
如果您的数据存储在.json文件中(即,您不想在MatLab中手动创建结构),则可以使用“fileread”读取它,并将数据作为字符串(而不是结构)传递。