2017-03-29 36 views
0

新手問題:我已經開始使用node-red,並認爲它可能是node.js(以及JavaScript)的一個很好的網關藥物。但我已經有點卡住了。node-red使用儀表板節點顯示msyql結果

我有一個流,這是執行一個非常簡單的查詢對MySQL數據庫。我將結果返回給我,但迄今爲止我無法以任何有意義的方式解析這些結果。它看起來結果是以數組形式返回的,但是如何在函數中訪問和操作該數組?下面是從mysql節點傳入的數據:

[ 
    { "at_time": "2017-03-27T18:33:46.000Z", "event": "gone_to_bed" }, 
    { "at_time": "2017-03-27T22:14:02.000Z", "event": "woke_up" }, 
    { "at_time": "2017-03-27T22:14:12.000Z", "event": "food" }, 
    { "at_time": "2017-03-28T00:13:42.000Z", "event": "woke_up" }, 
    { "at_time": "2017-03-28T03:50:15.000Z", "event": "woke_up" }, 
    { "at_time": "2017-03-28T05:12:33.000Z", "event": "woke_up" }, 
    { "at_time": "2017-03-28T05:12:38.000Z", "event": "food" }, 
    { "at_time": "2017-03-28T06:56:29.000Z", "event": "up_for_day" }, 
    { "at_time": "2017-03-28T18:08:49.000Z", "event": "gone_to_bed" }, 
    { "at_time": "2017-03-28T18:32:48.000Z", "event": "woke_up" } 
] 

謝謝!

+0

歡迎SO!嘗試格式化代碼和類似代碼的東西(例如,您的JSON片段)以提高可讀性。這會讓別人更容易幫助你。 – ybakos

+0

這相當可讀!感謝編輯,我將來也會這樣做。 – Brett

回答

0

JavaScript數組有許多功能可用來幫助您處理其內容。它提供了一個簡潔的答案,但沒有關於你想要做什麼的更多細節,這個問題太廣泛了。

正如您所看到的,Node-RED使用JavaScript構建,其功能節點也不例外。

假設你的功能是接收陣列爲msg.payload,你可以使用下面的語法來訪問各種元素:

var firstElement = msg.payload[0]; 
var secondElement = msg.payload[1]; 

等。

該數組的每個元素看起來都是一個JavaScript對象 - 帶有鍵/值對。要訪問這些值,你會使用以下語法:

var first_at_time = firstElement.at_time; 
var first_event = firstElement.event; 

這些都是用JavaScript基本的操作,並有大量可用,將介紹給你引導,如:https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps/Arrays

+0

感謝您的信息 - 非常感謝!當我今晚回到家時,我會看看我是否可以實現你上面描述的內容。正如你所看到的,我有一些內在化的基本概念(這是我難倒的關鍵/價值對),但我爲節點紅提供的潛力而興奮,並且希望在附近不要成爲新手未來。 – Brett