Я думаю, что вы новичок в Nodejs, неважно, прежде чем приступить к кодированию, вы должны понять синхронный код против асинхронного кода. Ваш код не выполняется синхронно. Прочитайте это:
https://codeforgeek.com/asynchronous-programming-in-node-js/
https://javascript.info/async
Кроме того, изучите обратные вызовы, обещания и асинхронность c -wait
Примечание: Я не проверяю логи c Здесь я просто направляю вас с потоком, Пожалуйста, проверьте все условия самостоятельно
Вы можете используйте async-await
try {
let data = await users.find({}).toArray()
if(check proper condition here){
let collages = await collage.find({_id: params._id}).toArray()
so and so.....
}
catch(err) {
}
============================== Использование обещаний ===== =====================
let final_result = {};
users.find({}).toArray()
.then((result) => {
let data = result;
state.response.end(JSON.stringify({
message: result
}));
if(check for condition)
return collage.find({_id: params._id}).toArray();
}).then(function(collages){
final_result.collages = collages;
return university.find({_id: params._id}).toArray()
}).then((users) => {
final_result.users= users
so and so ......
}).catch((err) => {
state.response.end(JSON.stringify({
error: err.message,
}));
log.error(failed to process the request: ", err);
});