我不能让mongoose填充一个对象数组 .
架构如下:
var topOrganisationsForCategorySchema = new mongoose.Schema({
category: String,
topOrganisations: [{
organisation: {
type: mongoose.Schema.Types.ObjectId,
ref: 'organisation'
},
model: mongoose.Schema.Types.Mixed
}]
});
module.exports = mongoose.model('topOrganisationsForCategory', topOrganisationsForCategorySchema);
我希望这个集合中的所有对象都填充了一组组织 .
这是我尝试过的
TopOrganisationsForCategory
.find()
.exec(function(err, organisation) {
var options = {
path: 'topOrganisations.organisation',
model: 'organisation'
};
if (err) return res.json(500);
Organisation.populate(organisation, options, function(err, org) {
res.json(org);
});
});
var organisationSchema = new mongoose.Schema({
name: String,
aliases: [String],
categories: [String],
id: {
type: String,
unique: true
},
idType: String
});
organisationSchema.index({
name: 'text'
});
module.exports = mongoose.model('organisation', organisationSchema);
1 回答
你很近但有几个笔记:
以下代码假定您还具有
Oranisation
的架构/模型声明 .我不确定
model
属性是否作为选项(无效)或实际上是topOrganisations
的属性 .所以,我留下了
model
因为它不应该引起任何问题,但要注意,如果你使用它作为一个选项它是 not 做你可能认为它是什么 .