Как передать данные темы MQTT в Postgres на Node-Red - PullRequest
0 голосов
/ 17 октября 2019

Я работаю над интеграцией MQTT Topic с Postgres DB на Node-Red. У меня есть одна MQTT Topic для, например, 'query / topic1', которая получает какое-то значение от издателя, я хочу сохранить это значение в базе данных Postgres. что я создал поток на Node-Red. Я создал компонент подписчика MQTT, который питает блок 'function', который, в свою очередь, является входом для Postgres. Я написал функцию ниже в компоненте 'function' (на рисунке он называется 'query')в Node-Red.

msg.payload = [
    {
        query: 'begin',
    },
    {
        query: 'select * from table1 where field2 > $param1',
    params: {
            param1: $msg.payload,
        },
        output: true,
    },
    {
        query: 'commit',
    },
];

return msg;

Я хочу, чтобы значение $ param1 было значением из темы MQTT, но я не совсем понимаю, как это сделать. Я пытался использовать $ msg.payload, но этоне работает. Можете ли вы предложить. Я новичок в этих вещах.

enter image description here

1 Ответ

1 голос
/ 17 октября 2019

Вы перезаписываете msg.payload в узле функции.

Вам необходимо переместить это значение в другую клавишу объекта msg, а затем обновить значение param1, чтобы оно указывало на этот новый ключ.

...