我有一个使用Node& amp;的项目Mongoose / Mongo DB和我在我的一个模型上进行深度填充时遇到了麻烦。
我找到了this插件来管理我的深层人口。这是我的控制器中的设置:
const board = await Board.find({'_id':boardId}).deepPopulate('members.id')
以下是我在罗盘中存储的数据板值的图像:
成员数组中属性“id”中的id是用户ID的id。我想要的是用用户详细信息填充'id'。我现在得到的错误信息是:
TypeError:无法读取未定义
的属性“路径”
这是我的电路板架构:
const boardSchema = new Schema({
name:{
type:String,
trim:true,
required:'Please enter a board name'
},
owner:{
type:mongoose.Schema.ObjectId,
ref:'User'
},
members:{
type:Array,
}
});
boardSchema.plugin(deepPopulate);
不完全确定为什么不在这里填充?
答案 0 :(得分:0)
您还需要为members数组定义架构,然后只有mongoose知道如何填充它。
members: [{
privilege: String,
id: {
type:mongoose.Schema.ObjectId,
ref:'User' // assuming its an user
},
}],