一个属性的Mongoose架构多个引用

人气:1,228 发布:2022-10-16 标签: mongodb schema ref mongoose

问题描述

如何为一个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。

448