Musíte to udělat ve dvou krocích; první vyplnění survey
a poté vyplnění survey.user
pomocí samostatného volání Model.populate
:
questions.findOne({_id: '0000'})
.populate('survey')
.exec(function(err, question) {
questions.populate(
question,
{ path: 'survey.user', model: 'User'},
function(err, question) {...});
});