2017-02-03 150 views
0

我有一個問題node/express.js 我連接到數據庫,我從數據庫中回收數據並將它保存到'localhost:3000/interval'作爲res.send 。我想將它存儲到一個變量中,因此它在./interval處不可見,解析它並傳遞給Google Chart API以繪製圖表:)到目前爲止,我還沒有被這麼長時間卡住。請從DBExpress.js存儲響應數據庫數據

幫助:)

數據

[{"CZAS":"2017-02-02 21:19:05","PM1":"28","PM25":"40","PM10":"48","ID":"300"},{"CZAS":"2017-02-03 07:17:07","PM1":"45","PM25":"69","PM10":"86","ID":"600"},{"CZAS":"2017-02-03 07:25:58","PM1":"67","PM25":"110","PM10":"139","ID":"900"},{"CZAS":"2017-02-03 07:35:11","PM1":"72","PM25":"121","PM10":"164","ID":"1200"} 

這是從server.js

app.get('/interval', common.listPoints2); 

從通用代碼。

exports.listPoints2 = function(req, res) { 
var data = require('../data.js'); 
console.log("Getting list points " + req + " res " + res); 
data.connect(); 
console.log("Conecnted ..."); 
data.fiveMinInterval(1, res);} 

這裏是一個功能

exports.fiveMinInterval = function(req, res) { 
var xys = []; 
console.log("Get data from DB"); 
client.query('SELECT time AS CZAS, pm1 AS PM1, pm25 AS PM25, pm10 AS PM10, id AS ID FROM dev_0_data WHERE id%300=0') 
.on('result', function(res) { 

     res.on('data', function(row) { 
    xys.push(row); 
     }) 
    .on('error', function(err) { 
       console.log('Result error: ' + inspect(err)); 
    }) 
    .on('end', function(info) { 
       console.log('Result finished successfully'); 
    }); 
}) 
.on('end', function() { 
    console.log("Get track points end"); 

     res.send(xys); 
}); 

}

回答

0

是 「GET軌跡點結束」 字樣?

請注意,您的結果回調函數參數和您的fiveMinInterval參數「res」具有相同的變量名稱。

+0

1.是它打印在節點控制檯中; 結果成功完成 獲取跟蹤分數結束 2.注意到並更改; 嗯,我在想,也許我可以將它存儲到文件,然後用數據從數據庫讀取文件,但如果我有更多的傳感器,它將無法正常工作。 – Miczy

+0

當您調用http:// localhost:3000/interval時,瀏覽器中顯示的內容是什麼? –

+0

Welp,「來自DB的數據」 [{「CZAS」:「2017-02-02 21:19:05」,「PM1」:「28」,「PM25」:「40」,「PM10」:「 48「,」ID「:」300「}等 – Miczy