изменение полезной нагрузки, содержащей массив объектов - PullRequest
0 голосов
/ 26 апреля 2020

Просто пытаюсь изучить Node-Red и пытаюсь обработать сообщения.

У меня есть узел, который запрашивает базу данных mysql и возвращает полезную нагрузку, содержащую массив объектов. полезная нагрузка: enter image description here

Я хочу передать значения в узел графа панели мониторинга. Однако я считаю, что мне нужно передать ему массив в виде

payload: array[64]
[0...9]
 [0: 22.2]
   .
   .

et c.

Я пробовал функцию -

var outmsg = [];
for (var w in msg)
{
   outmsg.push(w.Temperature);
}
return {payload: outmsg, topic: msg.length};

Очевидно, это совершенно неправильный способ сделать это ... Кто-нибудь может помочь, пожалуйста?

пс. Извините, если это дубликат чего-то ответили где-то еще. Я сделал гугл, но ничего не нашел.

Ответы [ 2 ]

1 голос
/ 26 апреля 2020

Рекомендуется не пересоздавать сообщения, а передавать входное сообщение, если это возможно, поэтому лучше выполнить следующее:

for (var i in msg.payload) {
    msg.payload[i] = msg.payload[i].time
}
return msg;
0 голосов
/ 26 апреля 2020

Нашли ответ после долгого безделья ...

var inmsg = {payload: msg.payload};
var outmsg = [];
for (var w in inmsg.payload)
{
  outmsg.push(inmsg.payload[w].Temperature);
}
return {payload: outmsg, topic: inmsg.length};
...