node.js - Node JS 存储过程字段值返回为未定义

标签 node.js

我是学习 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/

相关文章:

node.js - Airtable 有时返回结果有时不返回

node.js - 一旦客户端断开连接并再次连接服务器位于 Socket.io 和 node.js 上,Socket Id 是否会重新发出?

node.js - 当尝试作为反向代理连接到 Node 应用程序时,Nginx 连接被拒绝

javascript - 如何使用自动启动在系统启动时启动应用程序?

node.js - 使用 cookie 进行 Node 用户身份验证

mysql - 在 Node.js 中解密 MySQL 的 AES_ENCRYPT

node.js - 我可以用 React 中的数据进行服务器渲染吗?

php - 你如何将 php session 数据传递给 socket.io?

javascript - 使用键 : function pair in jade template 发送 javascript 对象

javascript - 如何限制 api 请求堆栈?