Как вернуть имена полей SQL в вызове API JavaScript? - PullRequest
0 голосов
/ 18 сентября 2019

Я собрал API для локальной базы данных mysql с Express, Cors и Node и сейчас пытаюсь получить данные.У меня есть один запрос, в котором я построил const, предназначенный для получения ряда статистических данных, но я не могу понять, как лучше всего получить данные, чтобы каждый элемент в json имел правильное поле:

const express = require('express');
const cors = require('cors');
const mysql = require('mysql');

const app = express();

const COUNTS_QUERY = 'SELECT COUNT(*) AS total_stands FROM carts UNION SELECT SUM(current_orders) as total_orders FROM carts UNION SELECT AVG(rating) as rating FROM carts';

app.listen(4000, () => {
    console.log('Server listening on port 4000')
});

//call query to count trucks
app.get('/stats', (req, res) => {
    connection.query(COUNTS_QUERY, (err, results) => {
        if(err) {
            return res.send(err)
        } else {
            console.log(results)
            return res.json({
                data: results
            })
        }
    })
})

Я получаю следующий результат:

{"data":[{"total_stands":1541},{"total_stands":35218},{"total_stands":2.9792}]}

Как мне вернуть объект, в котором каждая статистика имеет соответствующее имя поля?

1 Ответ

0 голосов
/ 18 сентября 2019

Используйте этот запрос, чтобы получить этот вывод: {"data":[{"total_stands":1541},{"total_orders":35218},{"rating":2.9792}]}

SELECT
    (SELECT COUNT(*) AS total_stands FROM carts) AS  total_stands,
    (SELECT SUM(current_orders) as total_orders FROM carts) AS total_orders,
    (SELECT AVG(rating) as rating FROM carts) AS rating
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...