javascript - 如何从 Firebase 构建和获取时间序列数据
问题描述
我在 Firebase 中有一个实时数据库,格式如下:
我正在使用 javascript 来获取数据并将其绘制在我的网络浏览器上。问题是我无法从中获取任何数据。发现了一些代码,它们通常会得到一个值,而不是基于时间序列的数据。我正在使用的当前获取过程是:
firebase.database().ref('edge-data').limitToLast(40).on('value', ts_measures => {
let timestamps = [];
let values = [];
ts_measures.forEach(ts_measure => {
console.log(ts_measure.val().timestamp, ts_measure.val().value);
timestamps.push(moment(ts_measure.val().timestamp).format('YYYY-MM-DD HH:mm:ss'));
values.push(ts_measure.val().value);
});
myPlotDiv = document.getElementById('myPlot');
const data = [{
x: timestamps,
y: values
}];
我的情节打开但仍然是空的,尽管它似乎可以识别日期间隔。我不确定我的实时数据库现在的结构是否是最好的选择,但在此过程中的任何帮助都将非常有价值。
谢谢!
解决方案
我的 .js 文件中的这个更改解决了所有问题:
ts_measures.forEach(ts_measure => {
console.log(ts_measure.val());
timestamps.push(moment(ts_measure.val().timestamp).format('YYYY-MM-DD HH:mm:ss'));
values.push(ts_measure.val().temperatura);
});
推荐阅读
- visual-studio - SSIS 自定义任务错误 - 代码:0xC001F02A 源:包描述:无法从 XML 为任务创建任务
- sass - 在sass中,用@use替换@import而不是扩展变量
- c++ - 检查模板参数的类型并使用另一个模板
- node.js - 如何在电子的 web 视图中创建上下文菜单
- html - 需要修复电子邮件签名中的水平线
- winapi - 有谁知道如何使用 Zip Utils 将给定目录的文件夹及其内容添加到 zip 文件中?
- clojure - Clojure在地图中添加键
- java - SFTP 上传的方法中 session.connect() 中的问题
- javascript - 如何在 IntelliJ/WebStorm 中跳转到导入的 JavaScript 文件
- vba - 循环遍历 Excel 工作簿文件夹并仅将带有关键字的工作簿附加到主工作表