Mysql
 sql >> Base de données >  >> RDS >> Mysql

Combinaison des lignes de résultat node-mysql en un seul retour JSON pour node.js

Interrogé et répondu.

L'utilitaire Async.js a beaucoup de bonnes choses, y compris une fonction de carte et underscores.js aide à tout ranger !

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);
        }
    });

}