我该如何解决这个不正确的数据?

How can i solve this dont correct data?

flow.set("payload","msg.payload.payload");

flow.set("humidity","msg.payload.humidity");

var date = new Date().getTime();

msg.topic= "insert into sensor(temp, humidity, date) values('"+msg.payload.payload+"', '"+msg.payload.humidity+"', '"+date+"')";

return msg;

这是我的功能代码

我接收数据到{"_msgid":"81665f152edd9336","payload":"25.20","topic":"rpi-dht22","humidity":"39.30","isValid":true,"errors":2,"sensorid":"dht22"}

但在数据库中看到 undefined, undefined, 1636534958644 有什么问题?

函数节点有 2 个问题。

首先,您要将字符串插入到 flow 上下文中,而不是传入消息中的值,您不应将值参数用引号引起来。

其次,msg 对象键中有一个额外的 payload

大概应该是这样的:

flow.set("payload",msg.payload);
flow.set("humidity",msg.humidity);

var date = new Date().getTime();

msg.topic= "insert into sensor(temp, humidity, date) values('" 
   + msg.payload + "', '" 
   + msg.humidity + "', '" 
   + date + "')";

return msg;