Как вернуть строки данных MySQL в виде массивов и сохранить в одном объекте - PullRequest
0 голосов
/ 15 мая 2019

Я хочу вернуть массив и объект из запроса mysql, основанного на зарегистрированном пользователе, и использовать значения массива и объекта для наборов данных для построения диаграмм.

Я думал, что смогу вернуть массив и объект (набор мыслей Java) и вызвать их в объекте диаграммы, но это не сработает.

Я создал функцию уменьшения избыточности кода.

// Function to pass sql query to 
function getdata(query){

const connection = mysql.createConnection(dbconfig.connection);
connection.connect(function(err){
if (err) throw err;

connection.query(query, function(err, result, fields) {
    if (err) throw err;

    Object.keys(result).forEach(function(key) {
        const values = result[key];

        // I want to be able to use scoreArray of each SQL query 
        // to create charts of data for each category. 
        const scoreArray = Object.values(values);

        // I want to return the 'scores' object from the function 
        // to create a bar chart of the overall score of each category
        const scores = scoreArray.reduce((accum,scoreArray)=>
        {
            const splitValues = scoreArray.split('/')

            return {
                score:accum.score + parseInt(splitValues[0]),
                maxScore:accum.maxScore + parseInt(splitValues[1]),
            }
        },{score:0,maxScore:0})
        console.log(scores)
    });
})
})

};
var query1 = "SELECT q1,q2,q3,q4 FROM users WHERE id = user.id"; 
var query2 = "SELECT q5,q6,q7,q8 FROM users WHERE id = user.id"; 
//..6 more queries 

getdata(query1);
//..7 more function calls
...