节点红色将消息输出到CSV

时间:2016-10-17 14:56:04

标签: node.js csv node-red

在过去的几天里,我一直在尝试和阅读以获得Node-Red中非常具体的内容:我想将(LoRa)消息发送到CSV。 此CSV应包含以下项目:

  • 主题
  • 日期
  • 有效载荷

我可以使用函数节点插入日期:

var str1 = Date();

我一直在玩CSV节点,但我无法输出逗号分隔值。所有这些都可能与我缺乏javascript编程技能有关,这就是我转向你的原因。

你可以帮帮我吗?

编辑: 我还在寻找答案,这给我带来了以下几点: 功能节点:

var res = Date() + "," + msg.topic + "," + msg.payload; return [ { payload: res } ]; 

输出:

[{"col1":"Mon Oct 17 2016 17:10:20 GMT+0200 (CEST)","col2":"1/test/1","col3":"string1"}]

我现在想要的是丢失列名和[{}]

等额外信息

1 个答案:

答案 0 :(得分:2)

CSV节点仅适用于msg.payload字段,因此您必须将额外数据复制到有效负载对象中,以使其输出您想要的内容。

因此,要正确格式化数据,您需要在CSV节点之前放置一个带有以下功能的节点:

var originalPayload = msg.payload;
var newPayload = {};
newPayload.date = new Date().toString();
newPayload.topic = msg.topic;
newPayload.payload = originalPayload;
msg.payload = newPayload;

return msg;

并配置CSV节点以输出列"日期,主题,有效负载"