使用 Node.js 和 MySQL 在 RowDataPacket 中调用对象
Call object inside RowDataPacket using Node.js and MySQL
The code its about:
con.query(`SET @row_num = 0; SELECT @row_num := @row_num + 1 AS row_number, userid, username, lvl FROM users ORDER BY lvl + 0 DESC`, async (err, rowss) => {
if(err) throw err;
console.log(rowss[0].userid);
});
What i tried:
我尝试使用 rowss[0].userid
和 rowss.userid
。但是不想为我工作。但是,当我单独使用 rowss
时,我得到以下输出:
[ OkPacket {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
serverStatus: 10,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0 },
[ RowDataPacket {
row_number: 1,
userid: '123',
username: 'test1#5245',
lvl: '113' },
RowDataPacket {
row_number: 2,
userid: '456',
username: 'test2#8272',
lvl: '112' },
RowDataPacket {
row_number: 3,
userid: '789',
username: 'test3#5873',
lvl: '91' },
RowDataPacket {
row_number: 4,
userid: '012',
username: 'test4#0581',
lvl: '78' }.................
What i want:
在 RowDataPacket 中调用一个对象并 console.log 它。
所以我想要的基本上是当我打字时:
console.log(rowss[0].username + ' - ' + rowss[0].lvl);
console.log(rowss[3].username + ' - ' + rowss[3].lvl);
即输出结果为:
test1#5245 - 113 (Since this is the first row in the array).
test4#0581 - 78 (Since this is the 4th row).
My Problem:
例如,每当我尝试 console.log(rowss[0].username);
时,我都会得到 undefined
。这适用于所有对象。所以 userid,lvl 等等。
您在创建数据库时启用了多个语句为真 connection.This 导致多个结果集
multipleStatements: true
下面的结果集是对语句 SET @row_num = 0;
的响应
OkPacket {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
serverStatus: 10,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0 }
select 查询的数据结果在数组
的第二个位置可用
select查询数据可以如下访问
rowss[1][0].row_number
rowss[1][0].userid
rowss[1][0].lvl
The code its about:
con.query(`SET @row_num = 0; SELECT @row_num := @row_num + 1 AS row_number, userid, username, lvl FROM users ORDER BY lvl + 0 DESC`, async (err, rowss) => {
if(err) throw err;
console.log(rowss[0].userid);
});
What i tried:
我尝试使用 rowss[0].userid
和 rowss.userid
。但是不想为我工作。但是,当我单独使用 rowss
时,我得到以下输出:
[ OkPacket {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
serverStatus: 10,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0 },
[ RowDataPacket {
row_number: 1,
userid: '123',
username: 'test1#5245',
lvl: '113' },
RowDataPacket {
row_number: 2,
userid: '456',
username: 'test2#8272',
lvl: '112' },
RowDataPacket {
row_number: 3,
userid: '789',
username: 'test3#5873',
lvl: '91' },
RowDataPacket {
row_number: 4,
userid: '012',
username: 'test4#0581',
lvl: '78' }.................
What i want:
在 RowDataPacket 中调用一个对象并 console.log 它。 所以我想要的基本上是当我打字时:
console.log(rowss[0].username + ' - ' + rowss[0].lvl);
console.log(rowss[3].username + ' - ' + rowss[3].lvl);
即输出结果为:
test1#5245 - 113 (Since this is the first row in the array).
test4#0581 - 78 (Since this is the 4th row).
My Problem:
例如,每当我尝试 console.log(rowss[0].username);
时,我都会得到 undefined
。这适用于所有对象。所以 userid,lvl 等等。
您在创建数据库时启用了多个语句为真 connection.This 导致多个结果集
multipleStatements: true
下面的结果集是对语句 SET @row_num = 0;
OkPacket {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
serverStatus: 10,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0 }
select 查询的数据结果在数组
的第二个位置可用
select查询数据可以如下访问
rowss[1][0].row_number
rowss[1][0].userid
rowss[1][0].lvl