Você está imprimindo 'campos' primeiro, que é a descrição dos campos no
SHOW COLUMNS
resposta. As próprias linhas de resposta se parecem com isso: [
{
Field: 'id',
Type: 'int(11) unsigned',
Null: 'NO',
Key: 'PRI',
Default: null,
Extra: 'auto_increment'
}
/* , ... */
]
Então o nome da primeira coluna, por exemplo, é:
connection.query('SHOW COLUMNS FROM test', function(err, rows, fields){
console.log(rows[0].Field);
});