我是学习 Node 的新手,很抱歉提出了一个菜鸟问题。 我有 mysql 正在运行并存储过程返回字段。 我想将值分配给字符串变量并循环遍历每一行。 我在 C# 中经常这样做,但我在 Node 上太菜鸟了。
控制台中的结果是。
console.log(one) ->
[RowDataPacket {
CitySearchSearchEngineID: 1,
SearchURL: 'https://www.url.com' } ]
OkPacket {
fieldCount: 0,......
}
但是上面的内容很好,
console.log(one.SearchURL); -> 未定义
我已经为此苦苦挣扎了一段时间,不明白为什么我无法获取该值。我尝试了几种不同的方法。如果我执行 JSON.stringify ,它会将行提供给字符串就好了。
任何想法将不胜感激。
代码如下。
var db = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'secretpassword',
database: 'DB1',
port: 3306
});
db.connect(function(err){
if(err){
console.log('Error connecting to Db');
return;
}
console.log('Connection established');
});
db.query('CALL esp_Select_SearchURLs()', function(err, rows){
if(err) throw err;
_.each(rows, function(one){
console.log(one); // returns back in console the RowPacketData
console.log(one.SearchURL); // returns back undefined.
});
});
最佳答案
由于某种原因,您的 one
可能是一个数组,因此尝试 console.log(one[0].SearchURL)
应该可以正常工作。
关于node.js - Node JS 存储过程字段值返回为未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43564663/