2016-06-22 4 views
0

아래의 쿼리를 함수로 사용하고자합니다 : 테이블 값 (msg.payload.1, msg.payload.2)에 삽입하십시오.두 개의 서로 다른 msg.payload를 데이터베이스에 삽입하십시오.

var m={ 
    topic: "insert into info values ('"+msg.payload+"','"+msg.payload+"');" 
}; 
return m; 

는이 정보를 테이블에 두 행을 추가 :

이 함수는 두 개의 입력 (2 개의 다른 msg.payload) 그래서 난 쓰기를 시도하고있는 코드가 있습니다. 두 개의 서로 다른 값을 가진 하나의 행만 추가하려고합니다.

어떤 아이디어가 있습니까? 사전

+0

다음 질문을 Node-red 메일 링리스트 (https://groups.google.com/forum/#!forum/node-red)로 가져 가면 내가 생각하는 모든 아이디어를 배치 할 수 있습니다. 작업. (msg.topic == "CPU")를 경우 { var에 m을 : 그들은 내가이 코드를 시도 지금 거기 – hardillb

+0

확인 감사를 볼 수있을 때 누군가가 당신을 도울 것이 훨씬 쉬울 것이다 = msg.payload; } if (msg.topic == "flahsSize") { var n = msg.payload; } var o = { 주제 : "정보 값 ('"+ m + "', +"n + " ')에 삽입; }; return o; 하지만 작동하지 않았습니다. 나는 if 조건의 장소와 혼동한다. – aline

답변

0

에서

덕분에 내가 이해 한 경우는 제대로이 기능에 데이터를 공급하는 2 개 개의 다른 노드가 있고 당신은 당신의 삽입 문을 작성하기 위해 이러한 별도의 메시지에서 값을 사용하고 싶습니다.

이것은 Node-RED가 작동하는 방식이 아니므로 각 메시지는 서로 완전히 별도로 처리됩니다 (따라서 2 행이 DB에 추가 된 것을 볼 수 있습니다).

두 개의 개별 메시지를 결합하려면 유지 상태로 context을 사용해야합니다. 메시지가 오면 메시지 토픽에 의해 정상적으로 수행되는 메시지를 식별하는 방법이 필요하지만 어떤 고유 한 기능이 될 수 있습니다.

+0

을하고 있어요, 전체 그림을 – aline

+0

변수 ('m'과'n')는 개별 메시지를 처리하는데 걸리는 시간 동안 만 존재한다. 컨텍스트를 사용하여 메시지 사이에 상태를 저장하는 링크를 살펴보십시오 – hardillb

+0

컨텍스트 메서드와 함께 작동합니다. 감사합니다. – aline

관련 문제