小编chr*_*awn的帖子

无法获取Mongoose.js Subdocument Array来填充

我在连接到mongodb的node.js服务器上使用mongoose.js,我有一个像下面这样的猫鼬模型

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);
Run Code Online (Sandbox Code Playgroud)

我用这样的命令拉

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?
});
Run Code Online (Sandbox Code Playgroud)

我的问题是我不能让subs.members数组填充甚至加载,它只是显示为一个空数组.

即使subs._member加载得很好,我也尝试过.populate("subs.members")无济于事

mongoose mongodb node.js

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

mongodb ×1

mongoose ×1

node.js ×1