NodeJS-Express-从数据库获取响应

时间:2019-01-11 22:19:22

标签: node.js database express

我使用NodeJS和Express进行了路由,可以连接到数据库并检索数据。

如何将整个响应放入1个JSON对象(而不是作为控制台打印进行打印):

app.get('/db', function(req, res){
  connection.execute({
    sqlText: sqlStatement,

    complete: function(err, stmt, rows) {
        if (err) {
          console.error('Failed to execute statement due to the following error: ' + err.message);
        } else {
          console.log('Number of rows: ' + rows.length);
          console.log('Rows:');
          for (row in rows) 
            console.log(JSON.stringify(rows, null, 2));
        }
    },
  });

  res.send({ name: 'done' });
});

1 个答案:

答案 0 :(得分:1)

假设其他所有东西都正常工作(在sqlStatement定义的位置?),您要做的就是使用res.json(),例如:

app.get('/db', function(req, res) {
  connection.execute({
    sqlText: sqlStatement,

    complete: function(err, stmt, rows) {
        if (err) {
          var error = 'Failed to execute statement due to the following error: ' + err.message;
          console.error(error);
          return res.send(error);
        } else {
          console.log('Number of rows: ' + rows.length);
          console.log('Rows:');
          return res.json({data: rows, message: 'done'});
        }
    },
  });
});