javascript-将数据库中的结果集推送到数组失败

时间:2017-11-08 11:02:26

标签: javascript arrays

我正在运行查询以获取新用户列表。查询是正确的。它返回15个用户。我将结果集推送到javascript数组中,但只保存结果集中的最后一条记录。

这是我的代码:

var query =    `SELECT * 
                FROM users
                WHERE (status ='New')`;
var query = connection.query(query),
    response = []; // this array will contain the result of our db query
query
    .on('error', function (err) {
        console.log(err);
    })
    .on('result', function (res) {
        // it fills our array looping on each user row inside the db
        response.push(res);
        /*
        for (var key in res) {      
            if (res.hasOwnProperty(key)) response.push(res[key]);
        }
        */

    })
    .on('end', function () {
        console.log('console')
    });

正如您所看到的,response.push(res);是我执行此操作的代码行。下面我要评论几行。我尝试了从结果集中推送每一行的选项,但它没有给出任何结果。

2 个答案:

答案 0 :(得分:0)

尝试for循环

for(var i in res){
    response.push(res[i]);
}

答案 1 :(得分:0)

我可能会低估您的考试,但您可能会在错误的地方查看result

您应该在'end'回调中执行此操作。

.on('end', function () {
    console.dir(res)
});