Nodejs节点mysql查询结果数据类型

Nodejs节点mysql查询结果数据类型,mysql,sql,node.js,node-mysql,Mysql,Sql,Node.js,Node Mysql,我很难弄清楚如何在回调函数中从mysql查询中获取数据。例如,我的查询如下: mysqlConnection.query('SELECT COUNT(*) from card AS count', function (err, result) { if (err) { throw err; } else { console.log(Type.of(result)); console.log("card count is a

我很难弄清楚如何在回调函数中从mysql查询中获取数据。例如,我的查询如下:

mysqlConnection.query('SELECT COUNT(*) from card AS count', function (err, result) {
    if (err) {
        throw err;
    } 
    else {
        console.log(Type.of(result));
        console.log("card count is as: " + result.count);
        console.log("Card count is: " + result["COUNT(*)"]);
        console.log(result);
    }
});
这将打印出:

[Function: Array]
card count is as: undefined
Card count is: undefined
[ { 'COUNT(*)': 3 } ]
什么是“[Function:Array]”数据类型?如何从中选择变量?函数数组?为什么“result.count”未定义,即使我在查询中使用AS对象

下面的查询与下面的查询有何不同

mysqlConnection.query('SELECT COUNT(*) from card AS count', function (err, rows, fields) {
});

mysqlConnection.query('SELECT COUNT(*) from card AS count', function (err, result) {
});
何时使用另一个以及何时使用另一个?

将查询更改为

SELECT COUNT(*) AS count from card 

列别名应该在选择列之后定义,而不是在
from
之后使用
函数(err,rows,fields)
的回调更适合于选择您正在使用的数据,然后由数组填充行。因此,在您的情况下,
行[0]['COUNT(*')]
将是您的计数

对于具有多行的选择,可以循环查看结果

作为旁注,我认为您的意思是
选择COUNT(*)作为卡中的COUNT
,这样就可以更简单地访问
行[0]。COUNT