如何使用节点js处理来自数据库的数据?

时间:2015-01-09 15:21:51

标签: mysql json node.js

如何处理数据库中的数据?我想出了如何从mysql数据库中获取数据,打包在json文件中,就像下面的代码一样:

var http = require('http');
http.createServer(function(req, res) {
    console.log('Receving request...');
    var queryData = 'something';
    var callback = function(err, result) {
        res.setHeader('Content-disposition', 'attachment; filename=' + queryData + '.json');
        res.writeHead(200, {
            'Content-Type' : 'x-application/json'
        });
        console.log('json:', result);
        res.end(result);    
    };

connectToDb(callback, queryData);}  
).listen(9999);

function connecToDb(callback, queryData){
var mysql = require('mysql');
    var connection = mysql.createConnection({
        host : 'localhost',
        user : 'xxxx',
        password : 'xxxx',
        database : 'xxxx',
        port: 3306
    });

    connection.connect();
    var json = '';
    var data = queryData + '%';
    var query = 'SELECT * FROM TABLE WHERE POSTCODE LIKE "' + data + '"';
    connection.query(query, function(err, results, fields) {
        if (err)
            return callback(err, null);

        console.log('The query-result is: ', results);

        // wrap result-set as json
        json = JSON.stringify(results);

        /***************
        * Correction 2: Nest the callback correctly!
        ***************/
        connection.end();
        console.log('JSON-result:', json);
        callback(null, json);
    });
}

但我认为这不是我所需要的。如何在全局变量中使用json的内容,而不是以这种方式下载?

编辑:还有一件事,我需要用json中的数据填充数组,这样我就可以用另一个函数来处理它了,这是最后一个想法。

0 个答案:

没有答案