仅使用nodeJS显示数据库中的最后一条记录

时间:2016-12-10 17:43:20

标签: javascript node.js express

代码仅显示数据库中的最后一条记录。如何让它显示数据库中的所有记录。我正在尝试使用nodeJS。谢谢

var express = require('express');
var mysql = require('mysql');
var app = express();

var data;
var connection = mysql.createConnection({
   host     : 'localhost',
   user     : 'root',
   password : '',
   database : 'music'
});

connection.connect();

connection.query('SELECT * FROM artist', function(err, rows, fields) {
    if(err) throw err;

    data = JSON.stringify(rows);

    for(var i=0;i<rows.length;i++)
        data = rows[i].artist_name + " "+rows[i].artist_id;
});
connection.end();

app.get("/artists", function(req,res){
    res.send(data);
})

var myServer = app.listen(3000, function(){
    console.log("Server listening on port 3000");
})

1 个答案:

答案 0 :(得分:0)

您正在为for循环中的每一行分配数据值;也就是说,循环的每次迭代,你替换值。而不是使用赋值运算符(=)使用污染物(+ =):

var data = "";
var rowDelimiter = "<br>"; // Or whatever you want

然后:

data += rows[i].artist_name + " "+rows[i].artist_id + rowDelimiter;