【问题标题】:Node Red multiple values to influxDB节点红色多个值到 influxDB
【发布时间】:2018-10-31 12:12:53
【问题描述】:

我尝试使用 Node Red 构建一个查询,以使用以下代码从循环中将多个值发送到 influxDB:

var inputArray = msg.payload;
var lenInputArray =inputArray.length;
var modbusStartRegister = 14000;

var sendString = "";

var msg93 ={};


for (i = 0; i < lenInputArray; i++) {
    var actRegister = modbusStartRegister +i;
    var actValue = inputArray[i];
    if ( i >=1){
        sendString =  sendString + " ,"
    }
    sendString = sendString +"{register: " + actRegister +"," +"value: " + actValue +"}";
    if ( i ==(lenInputArray-1)){
        sendString =  sendString + "]"
    }
}

msg93.payload = sendString;

    
return msg93

但是 influxDB 中的插入是一行,它将它们视为一个完整的字符串。如何构建或转换数据库接受它们作为单独条目的字符串?感谢您的帮助

【问题讨论】:

    标签: javascript influxdb node-red


    【解决方案1】:

    这是因为你正在构建一个字符串,节点一个对象。

    您可以像这样动态构建数组对象:

    var inputArray = msg.payload;
    var lenInputArray =inputArray.length;
    var modbusStartRegister = 14000;
    
    var payload = [];
    
    var msg93 ={};
    
    
    for (i = 0; i < lenInputArray; i++) {
        var temp = {};
        temp.register = modbusStartRegister +i;
        temp.value = inputArray[i];
        payload.push(temp);
    
    }
    
    msg93.payload = payload;
    
    
    return msg93
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-13
      • 2020-11-29
      相关资源
      最近更新 更多