mysql - 仅从 Node.js MySQL 结果对象中获取价值
问题描述
我正在尝试从 MySQL 列中获取不同值的列表,并将它们返回到单个 JSON 数组中。
我有这个当前代码:
app.get('/experiences/', function(req, res) {
res.setHeader('Access-Control-Allow-Origin', http://localhost:3000');
connection.query('SELECT DISTINCT experience FROM questions', function(err, data) {
err ? res.send(err) : res.json(data);
});
});
我希望结果看起来像:
{experience: ["1-3","1-5","5+"]}
但它目前看起来像:
[{"experience":"1-3"},{"experience":"1-5"},{"experience":"5+"}]
解决方案
您可以通过在数组上循环并重新创建具有正确格式的对象来重新格式化您获得的数据对象。
像这样 :
connection.query('SELECT DISTINCT experience FROM questions', function(err, data) {
if(err)
res.send(err)
else {
let experiences = [];
data.forEach(function(
experiences.push(d.experience);
}
result = {experience : experiences };
res.json(result);
}
});