Sri
Sri

Reputation: 99

How to pass MQTT Topic data to Postgres on Node-Red

I am working on integrating MQTT Topic with Postgres DB on Node-Red.I have one MQTT Topic for e.g 'query/topic1' which is getting some value from a publisher, I want to save this value into Postgres database.For that, I created flow on Node-Red.I have created MQTT subscriber component which is feeding 'function' block which in turn is input to Postgres.I have written below function in 'function' component (named 'query' in the image) in Node-Red.

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

return msg;

I want the "$param1" to be the value coming from MQTT topic, but I am confused how to do that.I tried using '$msg.payload' but it did not work.Can you please suggest. I am new to these stuffs.

enter image description here

Upvotes: 0

Views: 1725

Answers (1)

hardillb
hardillb

Reputation: 59658

You are overwriting msg.payload in the function node.

You need to move that value to another key on the msg object and then update the param1 value to point to that new key.

Upvotes: 1

Related Questions