仅从Node.js MySQL结果对象获取价值

时间:2019-06-19 14:29:45

标签: mysql node.js express

我试图从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+"}]

1 个答案:

答案 0 :(得分:1)

您可以通过在数组上循环来重新格式化获得的数据对象,然后重新创建具有正确格式的对象。
像这样:

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);
    }
});