Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将node.js的节点mysql结果行合并为单个JSON返回_Javascript_Mysql_Node.js_Callback_Node Mysql - Fatal编程技术网

Javascript 将node.js的节点mysql结果行合并为单个JSON返回

Javascript 将node.js的节点mysql结果行合并为单个JSON返回,javascript,mysql,node.js,callback,node-mysql,Javascript,Mysql,Node.js,Callback,Node Mysql,我想知道返回一组JSON的最佳方法,这些JSON是一些依赖mysql查询的结果 app.get('/viewing/:id', function (req, res){ if(!req.cookies.user) { res.end('Requires Authenticated User'); } else { connection.query('SELECT blah blah where userId='+req.params.id,

我想知道返回一组JSON的最佳方法,这些JSON是一些依赖mysql查询的结果

app.get('/viewing/:id', function (req, res){
    if(!req.cookies.user) {
        res.end('Requires Authenticated User');
    } else {   
        connection.query('SELECT blah blah where userId='+req.params.id,
        function (error, rows, fields) {
现在我们有很多行,比如说5行。我需要检查每一个,并根据我刚得到的数据进行另一个mysql查询。所以我最终需要重复呼叫(我是否循环?)

如何将第二个查询的每个重复选择中的行组合成一个可以作为JSON返回的对象

            res.writeHead(200, {'Content-Type': 'text/plain'});
            res.end(JSON.stringify(results));
            }
        });
    }
});
他问了又答

js实用程序有很多很好的东西,包括a和帮助整理任何东西

app.get('/viewing/:id', function (req, res){
  if(!req.cookies.user) {
      res.end('Requires Authenticated User');
  }
  else {
     connection.query('SELECT something,somethingelse from mytable where userId = ?',[req.params.id], function (error, rows, fields) {
        async.map(rows, getUsers, function(err, results){
        res.writeHead(200, {'Content-Type': 'text/plain'});
        res.end(JSON.stringify(_.flatten(_.compact(results))));
         });
     });
  }
});

function getUsers(user, callback) {
    connection.query('SELECT id,firstName,lastName FROM users WHERE id = '+ user.otherId,  function(err, info) {
        if(err) {
            console.log(err);
            return callback(err);
        }
        else {
           return callback(null, info);
        }
    });

}

您确定这里不能有一条带有join的sql语句吗?
app.get('/viewing/:id', function (req, res){
  if(!req.cookies.user) {
      res.end('Requires Authenticated User');
  }
  else {
     connection.query('SELECT something,somethingelse from mytable where userId = ?',[req.params.id], function (error, rows, fields) {
        async.map(rows, getUsers, function(err, results){
        res.writeHead(200, {'Content-Type': 'text/plain'});
        res.end(JSON.stringify(_.flatten(_.compact(results))));
         });
     });
  }
});

function getUsers(user, callback) {
    connection.query('SELECT id,firstName,lastName FROM users WHERE id = '+ user.otherId,  function(err, info) {
        if(err) {
            console.log(err);
            return callback(err);
        }
        else {
           return callback(null, info);
        }
    });