我想知道如何在Node.js中将查询结果作为JSON响应。目前,我从我的数据库中获得了JSON的结果,但我无法访问其中的值。我的代码如下。
connection.connect();
connection.query('select * from ttnews order by post_date DESC Limit 0,10',
function (error, results, fields) {
if (error) throw error;
console.log(results);
});
connection.end();
responseJSON.response = results[0].headline;
callback(null, responseJSON);
行responseJSON.response = results[0].headline
我收到错误results is undefined
任何帮助将不胜感激。
答案 0 :(得分:1)
试试此代码
var express = require('express');
var app = express();
var mysql = require('mysql');
var readline = require('readline');
var con = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'cmd'//your database name
});
con.connect(function(err){
if(err){
console.log('Error Connecting to Database');
}
});
app.get('/', function(req, res){
con.query('SELECT * FROM ttnews order by post_date DESC Limit 0,10',function(error, data){
if(error) {
console.log(error)
}else{
res.json(data)
}
});
});
app.listen(3000,function(){
console.log('server listening on 3000');
});
希望这会有所帮助......
答案 1 :(得分:0)
使用 Express 4.x , mysql db 的输出行采用 json 格式。
例如,
sqlConnect.connection.query('SELECT * from users', function(err, rows, fields){
if (err) {
console.log("Querying error");
} else {
console.log(rows);
}
sqlConnect.connection.end();
});
输出格式为
[ RowDataPacket {
id: 1,
username: 'Dani',
password: '1q2w3e4r',
verified: 0 } ]
现在您可以使用获取各个值。操作即可。例如,console.log(rows [0] .username)将记录值' Dani'