mysql - 如何仅获取字符串化 MySQL 查询结果的值?
问题描述
执行此查询后:
con.query("SELECT name FROM members WHERE id=1", function(err, rows, fields) {
console.log(rows);
});
这就是我得到的:
[ RowDataPacket { name: 'John' } ]
我希望只有一个记录,我只想得到John
。我怎么做?
解决方案
根据包的设计,如果不编写自己的附加函数并row
通过它们传递对象,则无法获得所需的结果格式mysqljs/mysql
。在标准SELECT
查询中,结果始终是一个对象。
使用该功能有一些解决方法stream
。rows[0].name
下面是一个示例,但与仅在标准查询中访问值相比,您最终会得到更多的代码行。
let the_query = con.query('SELECT name FROM members WHERE id = 1;');
the_query
.on('result', function(row) {
console.log('row.name:', row.name);
// expected in log:
// row.name: John
})
.on('end', function() {
// this chained event can be excluded
// here for demo purposes
console.log('all done');
});
推荐阅读
- python - Networkx 不可散列类型:'dict'
- javascript - Mongoose 获取有条件的字段
- thingsboard - 将 MQTT X.509 证书与托管版本的 ThingsBoard 一起使用
- c - MPI 接收函数中的 count 参数到底是什么?
- python - 导入 rpy2.objects 出现错误:无法初始化 JiT
- css - 使字体看起来脏/有纹理的 CSS 效果
- azure - 将当前用户捕获为变量 - Azure DevOps
- gitlab - GitLab 是否提供了一种方法来检查与管道关联的推送选项?
- codelite - CodeLite 配置
- python - Google Ads API 不会返回已停用的广告系列