如何在猫鼬中填充具有对象数组的对象?

时间:2020-06-23 09:07:42

标签: node.js mongodb web mongoose

我想填充adminId模型的User路径。
这是代码

adminInfo: {
    _id: false,
    adminId: [{
      type: Schema.Types.ObjectId,
      ref: 'User'
    }]
 }

这是用户架构的一部分:

// user schema
const UserSchema = new mongoose.Schema({
  name: {
    firstName: {
      type: String,
      trim: true,
      required: true,
    },
    lastName: {
      type: String,
      trim: true
    }
  },
  email: {
    type: String,
    trim: true,
    required: true,
    unique: true,
    lowercase: true
  },
  phone: {
    type: String,
    trim: true,
    minlength: 10,
  },
  password: {
    type: String,
    trim: true,
    required: true,
    minlength: 6
  }
});

我尝试使用.populate('adminInfo.adminId'),但是它给出的是空数组[],而.populate('adminInfo')给出的是管理员ID的数组,但没有填充到用户模型中

1 个答案:

答案 0 :(得分:0)

我认为.populate('adminInfo.adminId')方法没有任何问题。

您确定 ref 字段位于 CamelCase 中。

如果没有,请尝试更改参考字段->

adminInfo: {
  _id: false,
  adminId: [{
    type: Schema.Types.ObjectId,
    ref: 'user'
  }]
}