mysql - 如何访问 RowDataPacket 对象

标签 mysql node.js node-webkit

我目前正在使用 Node-webkit 开发一个桌面应用程序。在此过程中,我需要从本地 MySQL 数据库中获取一些数据。

查询工作正常,但我不知道如何访问结果。我将它们全部存储在一个数组中,然后传递给一个函数。在控制台中,它们看起来像这样:

RowDataPacket {user_id: 101, ActionsPerformed: 20}
RowDataPacket {user_id: 102, ActionsPerformed: 110}
RowDataPacket {user_id: 104, ActionsPerformed: 3}

这是查询结构:

var ret = [];
conn.query(SQLquery, function(err, rows, fields) {
    if (err)
        alert("...");
    else {
        for (var i of rows) 
            ret.push(i);
    }
    doStuffwithTheResult(ret);
}

如何在 doStuffwithTheResult 函数中检索它?值(value)观更重要,但如果我也能拿到 key ,那就太好了。

最佳答案

原来它们是普通对象,您可以通过 user_id 访问它们。

RowDataPacket 实际上是创建对象的构造函数的名称,它看起来像这样 new RowDataPacket(user_id, ...)。您可以通过访问其名称 [0].constructor.name

进行检查

如果结果是一个数组,则必须使用 [0].user_id

关于mysql - 如何访问 RowDataPacket 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31221980/

相关文章:

mysql - 无法使用 MySQL 创建存储过程

mysql - 有没有更简单的方法来查找 MySQL 中某些值的 MODE(S)

mysql删除效率

javascript - 使用 nodemailer 和 smtp 无需身份验证发送邮件

php - 在 Node-Webkit 中使用 PHP

mysql - 将用户输入转换为 MYSQL TIME 文字

node.js - mean.js $resource 调用快速服务器 RESTful API

javascript - 如何忽略 child_process.exec 产生的错误?

node.js - 为什么node-webkit中的errno与Node.js不同?

javascript - Node-Webkit SaveAs 文件对话框仅触发唯一文件名?