在猫鼬中填充嵌套模型

Populate nested model in mongoose

我得到了这个猫鼬模式

    const UserSchema = new Schema({
      email: {
        type: String,
        required: true,
        unique: true,
      },
      groups: [
        {
          groupName: {
            type: String,
            required: true,
          },
          groupMembers: [{ type: Schema.Types.ObjectId, ref: "GroupMember" }],
        },
      ],
    });

我正在尝试填充群组成员

    const user = await User.findById(req.params.userId).populate({
          path: "groups",
          populate: {
            path: "groupMembers",
          },
        });

当我记录 'user' 时,groupMembers 数组未填充,它是空的(即使我在里面有对象)。

编辑:找到解决方案 - 问题是当我添加新的 GroupMember 时我没有 .save() 它。

试试这个:

const user = await User.findById(req.params.userId).populate('groups.groupMembers');