2017-02-03 71 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