如何访问 RowDataPacket mysql-node.js
Posted
技术标签:
【中文标题】如何访问 RowDataPacket mysql-node.js【英文标题】:How to access RowDataPacket mysql-node.js 【发布时间】:2016-11-03 03:18:56 【问题描述】:connection.query('
SET @update_id := 0;
UPDATE relations set x1 = ?, y1 = ?, id = (SELECT @update_id := id) WHERE element_to =?;
SELECT @update_id;',[data.x2,data.y2,id],function(err,result)
if(err)console.error(err);
elseconsole.log(result);console.log(result.@update_id);
);
我从查询执行中得到以下结果:
[ RowDataPacket
'@update_id': 'WAbWA1WA5WA2WA8WAdWA4WA9' ] ]
如何访问 @update_id 字段以将值存储在变量中。我知道这些是对象,我尝试了以下方法来访问它们,如下所示:
results.@update_id;
但是当我尝试记录该值时,我得到了未定义。如何获得价值?
【问题讨论】:
How to access a RowDataPacket object的可能重复 【参考方案1】:只需将结果转换为数组,然后您就可以轻松访问数据,我这样做解决了
let res = JSON.parse(JSON.stringify(result));
【讨论】:
【参考方案2】:使用console.log(JSON.stringify(result));
如果你想获取变量的访问数据
var data = JSON.stringify(result[0].@update_id)
console.log(data);
你不能在 var E.G 上使用索引
console.log(data[0].@update_id)
错了
【讨论】:
【参考方案3】:试试这个:
results[0].@update_id
【讨论】:
以上是关于如何访问 RowDataPacket mysql-node.js的主要内容,如果未能解决你的问题,请参考以下文章
将rowdatapacket转换为数组,如何将mysql node.js api rowdatapacket转换为数组,将字符串转换为数组
eggjs 里链接 mysql 返回数据有 RowDataPacket 应该怎么处理?
nodejs mysql 返回数据中带有rowdatapacket是怎么回事
Node.js使用MySQL数据库中对RowDataPacket对象的使用