Mongo DB - 深度填充不起作用

时间:2018-01-06 16:47:51

标签: javascript node.js mongodb mongoose

我有一个使用Node& amp;的项目Mongoose / Mongo DB和我在我的一个模型上进行深度填充时遇到了麻烦。

我找到了this插件来管理我的深层人口。这是我的控制器中的设置:

const board = await Board.find({'_id':boardId}).deepPopulate('members.id')

以下是我在罗盘中存储的数据板值的图像:

enter image description here

成员数组中属性“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);

不完全确定为什么不在这里填充?

1 个答案:

答案 0 :(得分:0)

您还需要为members数组定义架构,然后只有mongoose知道如何填充它。

 members: [{
     privilege: String,
     id: {
         type:mongoose.Schema.ObjectId,
         ref:'User' // assuming its an user
     },
 }],
相关问题