javascript - nodejs npm mysql返回单行句柄

标签 javascript mysql node.js node-mysql

我正在使用 nodenpm mysql 来做一些数据库工作。

如果我知道我只会收到一行,有什么方法可以避免使用 result[0] 吗?

connection.query({
    sql: "SELECT spend FROM `account` WHERE `name` = ? order by date desc limit 1",
    values: [market.name]
    }, function (error, results, fields) {
        market.fee = results[0].age;
        resolve(market);
    });

最佳答案

connection.query 的回调函数返回三个值,其中第二个是查询的结果集,因此是一个值数组.

因此,即使您确定结果集只包含一条记录,也必须使用 result[0]

此外,它在某种程度上是查询自己的规范,它决定了应该返回哪种数据。 mysql 的 SELECT 以这种方式工作(虽然你可以限制记录)不像 mongodb 的 db.collection.findOne() 查询本身知道它总是返回一个单条记录

关于javascript - nodejs npm mysql返回单行句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31422993/

相关文章:

javascript - 使用映射使 JavaScript 对象成员值更具可读性

javascript - 音隙方向变化

php - 如何从包含angularjs中json数组的json对象中获取特定值

php - mysql 中的列名,或 PHP 中的更改?

javascript - 如何设置关于路由器的快速模块?

node.js - 如何在公共(public)网络服务器上为 Node 应用程序安装 Node 模块?

javascript - jquery 自动完成文本框不适用于更新面板

javascript - 无法使用 javascript 访问嵌套在 JSON 对象中的 JSON 数组中的数据

php - 为什么我的 $_POST 不起作用?

javascript - Javascript异步函数的开销是多少