Я думаю, что документация Mongoose не делает этого достаточно ясным, но данные, возвращенные в запросе (хотя вы можете res.send () это) на самом деле объект Mongoose Document, а НЕ объект JSON. Но вы можете исправить это одной строкой ...
Survey.findById(req.params.id, function(err, data){
var len = data.survey_questions.length;
var counter = 0;
var data = data.toJSON(); //turns it into JSON YAY!
_.each(data.survey_questions, function(sq){
Question.findById(sq.question, function(err, q){
sq.question = q;
if(++counter == len) {
res.send(data);
}
});
});
});