【发布时间】:2015-06-07 08:59:11
【问题描述】:
我正在做一个非常简单的 RIGHT JOIN 查询,但我无法正确格式化输出。
这里是查询:
connection.query({sql : "SELECT users.*, rides.* FROM users RIGHT JOIN rides ON users.id = rides.id_user WHERE users.id = ?", nestTables: '_', values : [id] }, function(err, rows){
console.log(rows);
});
这是我的输出:
[ { users_id: 52,
users_firstname: 'greg', //End first table data
rides_latitude: '50.847454', //Second table data: row 1
rides_longitude: '4.358356',
},
{ users_id: 52,
users_firstname: 'greg', //Exactly the same first table data
rides_latitude: '50.9', //Second table data: row 2
rides_longitude: '4.4',
} ]
这是我想要的输出:
[ { users_id: 52,
users_firstname: 'greg',
rides : [
{
rides_latitude: '50.847454',
rides_longitude: '4.358356'
},
{
rides_latitude: '50.9',
rides_longitude: '4.4'
}
]
}]
如你所见,我试过nestTables,
【问题讨论】:
-
您需要遍历结果并构建您自定义的 json 结构。
-
您确定没有任何格式化输出选项吗?
-
据我所知,使用 express 和 mysql connect 得到的结果是标准结果,其中数据以
key:val格式表示。现在您需要根据需要自定义结果,或者检查是否有一些中间件或帮助模块可用。