Несколько запросов Express / Mongodb

Я использую Express / Ejs / Node / Mongodb У меня есть несколько моделей, которые я запрашиваю, и три разных набора данных, с которыми можно что-то делать. Мне нужна функция, которая вычисляет средний уровень боли по симптомам и подсчитывает наиболее регистрируемые части тела. Я не знаю, как упростить свой маршрут ниже и прикрепить к ним эти функции и отправить их обратно во внешний интерфейс, чтобы с ними что-то сделать. Также любые хорошие чтения по этой конкретной проблеме.

Мой маршрут выглядит так

app.get('/dashboard', isLoggedIn, (req, res) =>{
    let thirtyDays = moment().subtract(30, 'd').format('YYYY-MM-DD')
    SymptomModel.find({postedBy : req.user._id, created: {$gte: `${thirtyDays}`} }, function(error, results){
        if (error){
            console.info('Error: ', error)
        } else {
            console.info('Found all symptoms from past 30da: ', results)
        }
    })

    TreatmentModel.find({postedBy : req.user._id, created: {$gte: `${thirtyDays}`} }, function(error, results){
        if (error){
            console.info('Error: ', error)
        } else {
            console.info('Found all Treatments from past 30da:', results)
        }
    })

    DoctorModel.find({postedBy : req.user._id, created: {$gte: `${thirtyDays}`} }, function(error, results){
        if (error){
            console.info('Error: ', error)
        } else {
            console.info('Found all Doctors from past 30da: ', results)
        }
    })
    res.render('dashboard.ejs', {
        user: req.user.firstName,
        data: `I would be for the last 30 days from ${now}`,
        test: "I need this to be the data"

    })
});

Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
1
0
23
1

Ответы 1

Итак, я смог получить несколько наборов данных с помощью следующего кода после исследования и повторения попыток.

Я хотел опубликовать это как ответ на мой вопрос на случай, если кто-то еще наткнется на это. Если у вас есть лучшие предложения о том, как это сделать, я открыт для отзывов.


app.get('/dashboard', isLoggedIn, async (req, res) =>{
    let thirtyDays = moment().subtract(30, 'd').format('YYYY-MM-DD')
    const doctorData = await DoctorModel.find({postedBy : req.user._id, created: {$gte: `${thirtyDays}`} }) 
    const treatmentData = await TreatmentModel.find({postedBy : req.user._id, created: {$gte: `${thirtyDays}`} }) 
    //const symptomData = await      SymptomModel.find({postedBy : req.user._id, created: {$gte: `${thirtyDays}`} })
    SymptomModel.find({postedBy : req.user._id, created: {$gte: `${thirtyDays}`} })
        .then(symptomData => {
            res.render('dashboard.ejs', {
                doctor: doctorData,
                symptom: symptomData,
                treatment: treatmentData,
                user: req.user.firstName
            });
        })


        });//closes route //req res function

Другие вопросы по теме