我使用mysql
NPM包已经好几个月没有遇到任何问题。但是这段代码很奇怪。
using(connectionPool.getSqlConnection(), function(connection) {
return connection.queryAsync('SELECT * from table_name');
}).spread(function(rows, fields) {
console.log('Rows: %j', rows);
console.log('Fields: %j', fields);
res.json(rows);
}).error(function(err) {
console.log(err);
});
我知道表格中有50行。但我在rows
只得到1。另外,奇怪的是fields
有第二行。知道为什么会这样吗?我在其他地方使用了相同的查询,没有任何问题。
修改
我摆弄了一下,发现每一行都是一个单独的对象。因此,如果我将代码更改为以下内容:
using(connectionPool.getSqlConnection(), function(connection) {
return connection.queryAsync('SELECT * from table_name');
}).spread(function(r1, r2, r3, r4) {
console.log('Rows: %j', r1);
console.log('Rows: %j', r2);
console.log('Rows: %j', r3);
console.log('Rows: %j', r4);
res.json(rows);
}).error(function(err) {
console.log(err);
});
r1,r2,r3,r4,...中的每一个都有一个单行对象。
答案 0 :(得分:0)
回答自己,以便帮助别人。
using(connectionPool.getSqlConnection(), function(connection) {
return connection.queryAsync('SELECT * from table_name');
}).then(function(rows) {
console.log('Rows: %j', rows);
res.json(rows);
}).error(function(err) {
console.log(err);
});
这很有效。