Я использую 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"
})
});

Итак, я смог получить несколько наборов данных с помощью следующего кода после исследования и повторения попыток.
Я хотел опубликовать это как ответ на мой вопрос на случай, если кто-то еще наткнется на это. Если у вас есть лучшие предложения о том, как это сделать, я открыт для отзывов.
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