Próbujesz wymusić paradygmat synchroniczny. Po prostu nie działa. node.js jest w większości jednowątkowy — po zakończeniu operacji io podawany jest kontekst wykonania. Sygnalizacja jest zarządzana za pomocą wywołania zwrotnego. Oznacza to, że masz zagnieżdżone wywołania zwrotne, nazwane funkcje lub bibliotekę kontroli przepływu, aby wszystko wyglądało ładniej.
https://github.com/caolan/async#parallel
async.parallel([
function(cb){
users.find({}, cb);
},
function(cb){
articles.find({}, cb);
}
], function(results){
// results contains both users and articles
});