Узел Красный множественные значения на притокDB - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь с помощью Node Red создать запрос на отправку нескольких значений в InfxDB из цикла с таким кодом:

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 - это одна строка, которая выглядит как интерпретированная как полная строка. Как я могу построить или преобразовать строку, чтобы БД принимала их как отдельную запись? Спасибо за помощь

1 Ответ

0 голосов
/ 31 октября 2018

Это потому, что вы строите строку, размещаете объект.

Вы можете построить объект массива на лету так:

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
...