Отправка результатов нескольких запросов к базе данных в одном представлении с помощью Express

У меня есть представление панели мониторинга (dashboard.jade), которое отображает две панели с различной информацией, всю эту информацию следует извлечь из базы данных и затем отправить в представление.

Позволять'скажем, у меня есть файл маршрута (document.js) с двумя определенными действиями:

exports.getAllDocuments = function(req, res){
    doc = db.model('documents', docSchema);

    doc.find({}, function(err, documents) {
        if (!err) { 
            // handle success
        }
        else { 
            throw err;
        }
    });
};

exports.getLatestDocumentTags = function(req, res){
    tags = db.model('tags', tagSchema);

    tags.find({}, function(err, docs) {
        if (!err) { 
            // handle success
        }
        else { 
            throw err;
        }
    });
};

Эти функции будут служить лишь частью процесса извлечения данных из базы данных.

Теперь я хотел бы отправить эти данные в представление панели мониторинга из моего файла маршрута dashboard.js в функции exports.index, где я отображаю представление панели мониторинга.

Проблема в том, что вызовы БД будут асинхронными, я бы неу меня нет доступа к данным, прежде чем я смогу вызвать представление.

Я думаю, у меня могло бы быть действие, которое бы просто делало все мои вызовы БД и через обратные вызовы доставляло все данные сразу к представлению, но это сделало бы мои действия поиска данных не пригодными для повторного использования.

Я действительно запутался в том, как правильно решить эту проблему, возможно, яЯ все неправильно понимаю. Может кто-нибудь дать мне несколько советов о том, как сделать это правильно?

Ответы на вопрос(2)

Ваш ответ на вопрос