问题描述
如何为一个Mongoose模式的一个属性编写多个引用,如下所示(但错误):
var Schema = mongoose.Schema;
var PeopleSchema = new Schema({
peopleType:{
type: Schema.Types.ObjectId,
ref: ['A', 'B'] /*or 'A, B'*/
}
})
推荐答案
您应该在模型中添加字符串字段,并在其中存储外部模型名称和refPath属性-Mongoose Dynamic References
var Schema = mongoose.Schema;
var PeopleSchema = new Schema({
externalModelType:{
type: String
},
peopleType:{
type: Schema.Types.ObjectId,
refPath: 'externalModelType'
}
})
现在,Mongoose将使用相应模型中的对象填充PeopleType。