在猫鼬中填充嵌套模型
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');
我得到了这个猫鼬模式
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');