Я пытаюсь использовать mongoose populate для возможности возврата одного композитного документа. Категории и вопросы расширены. Массив ответов в вопросах не расширяется. Вот что я делалБольше, чем 2 уровня населения с mongoose
summarySchema.statics.loadFull = function(options, callback){
var self = this;
self.findOne(options).populate([{
path: 'categories'
}])
.exec(function(err, res){
if(err || !res) return callback(err, res);
self.populate(res, [{
path: 'categories.questions',
model: 'Question'
}], function(err, res){
if(err || !res || !res.length) return callback(err, res);
self.populate(res, [{
path : 'categories.questions.answers',
model: 'Answer'
}], function(err, res){
callback(err, res);
});
});
});
};
Существует очевидная ошибка, которую я делаю или мангуст не поддерживает более 2 уровня населения.
FYI, структура подобна
summary {categories : [{type: mongoose.Schema.Types.ObjectId, ref: 'Category'}]}
category {questions : [{type: mongoose.Schema.Types.ObjectId, ref: 'Question'}]}
question {answers : [{type: mongoose.Schema.Types.ObjectId, ref: 'Answer'}]}