【发布时间】:2012-09-28 01:14:46
【问题描述】:
我在连接到 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);
我用这样的命令拉动它
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 加载得很好
【问题讨论】:
-
我也在寻找解决方案,我的子文档两层深不会填充。你找到了吗?
-
这是一个被广泛要求的功能,预计很快就会推出。 github.com/LearnBoost/mongoose/issues/601