我正在使用 node
和 npm 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/