sql >> データベース >  >> RDS >> Mysql

node-mysqlの結果行をnode.jsの単一のJSONリターンに結合する

    質問と回答。

    Async.jsユーティリティには、マップ関数 などの優れた機能がたくさんあります。 および underscores.js 何でも片付けるのに役立ちます!

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

    }




    1. $ this-> db-> insert_id()がmysqlcodeigniterで機能しない

    2. Java2MySQL>根本的な例外による通信リンク障害

    3. MySQL IF NOT NULL、次に1を表示、それ以外の場合は0を表示

    4. MySQLのパラメータとして列名を渡す