Stai cercando di forzare un paradigma sincrono. Semplicemente non funziona. node.js è a thread singolo, per la maggior parte - quando io è terminato, viene restituito il contesto di esecuzione. La segnalazione è gestita con una richiamata. Ciò significa che hai callback nidificati, funzioni con nome o una libreria di controllo del flusso per rendere le cose più belle.
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
});