I'm struggling to understand how I can return data from multiple promises to build up an array of data.
Is there anyway I can return the data outside of the promise to push to the data variable?
I have the following:
db_sh.find({
    selector: {sh: req.params.sh_id},
    fields: ['_id', 'sh_id', 'time'],
    sort: ['_id']
}).then(function (result) {
    let data = {};
    console.log('Found: ' + result.docs.length);
    if (result.docs.length > 0) {
        for (var i = 0; i < result.docs.length; i++) {
            let student = result.docs[i];
            Promise
                .all([getMealBooking(student._id), getStudentData(student._id)])
                .then(function(response) {
                    var meal_booking_data = response[0];
                    var student_data = response[1];
                    console.log(meal_booking_data);
                    console.log(student_data);
                })
                .catch(function (err) {
                    return res.send(false);
                });
            data[student.time] = [
                meal_booking_data,
                student_data
            ]
        }
    }
    /** Sort Data Oldest First*/
    data = Object.keys(data).sort().reduce((a, c) => (a[c] = data[c], a), {});
    console.log(data);
    res.send(data);
});
I have two promises (getMealBooking() & getStudentData()): and I am using Promise.all() to return me the results of both of these promises. I have tried to return the data but I cannot get the results to build up the data array.
Any help to be able to build up a list of all my data would be great.
 
     
     
    