【发布时间】:2019-08-23 10:11:28
【问题描述】:
我们正在开发一个安装了 node-red 的 ubuntu 服务器。我们想要的是从 MySQL 数据库的一个表中获取数据,然后将其移动到另一个表中。
我们的流程如下所示:
我们的“选择公差”节点包含:
msg.topic = "SELECT * FROM Tolerance";
return msg;
简单的代码,从我们的数据库中选择数据。如果我们像这样连接一个调试节点:
然后我们看到如下输出:
我们想要选择所有数据,因此我们需要遍历数组中的所有对象,并确保获取所有值并将它们发送到我们的新数据库表。我们使用“New Tolerance”节点来执行此操作,“New Tolerance”包含:
var i;
var secured = 1;
for (i = 0; i < msg.payload.length; i++) {
var time_start = msg.payload[i].time_start
var time_end = msg.payload[i].time_end
var temperatur_lpn = msg.payload[i].temperatur_lpn
var temperatur_rising = msg.payload[i].temperatur_rising
var temperatur_weather = msg.payload[i].temperatur_weather
var temp_compare_WL = msg.payload[i].temp_compare_WL
var temp_compare_WR = msg.payload[i].temp_compare_WR
var out = "INSERT INTO Sunrise_Tolerance (time_start, time_end, temperatur_lpn, temperatur_rising, temperatur_weather, temp_compare_WL, temp_compare_WR, secured)"
out = out + " VALUES ('" + time_start + "','" + time_end + "','" + temperatur_lpn + "','" + temperatur_rising + "','" + temperatur_weather + "','" + temp_compare_WL + "','" + temp_compare_WR + "','" + secured + "');"
msg.topic = out;
return msg;
}
问题是我们只接收到第一行数据(数组中的第一个对象)而不是其余的。谁能弄清楚为什么我们没有收到所有数据,而只收到第一个数据?
【问题讨论】:
标签: javascript python node.js node-red