Я использую mongoose.js на сервере node.js, подключающемся к mongodb и У меня есть модель мангуста, как показано ниже.
SubSchema = new Schema({
_member: {type: ObjectId, ref: 'Member'},
members: [{type: ObjectId, ref: 'Member'}],
created: { type: Date, default: Date.now }
});
mongoose.model('SubModel', SubSchema);
MainSchema = new Schema({
_member: {type: ObjectId, ref: 'Member'},
subs: [SubSchema],
members: [{type: ObjectId, ref: 'Member'}],
created: { type: Date, default: Date.now }
});
var MainModel mongoose.model('MainModel', MainSchema);
который я вытаскиваю с помощью такой команды
var q = MainModel.find({})
.sort('created', -1)
.limit(25)
.populate("_member")
.populate("subs._member")
.populate("subs.members");
q.execFind(function(err, mains){
//mains[0].subs[0].members - will always be empty why?
});
Моя проблема в том, что я не могу получить массив subs.members для заполнения или даже загрузки, он просто продолжает показывать как пустой массив.
Я пробовал .populate( "subs.members" ) безрезультатно, хотя subs._member загружается только отлично