【发布时间】:2020-01-21 22:24:59
【问题描述】:
我正在尝试使用子文档填充 mongoose 结果,但我不能。
我试过这段代码,但它得到了这个错误:
MissingSchemaError:尚未为模型“department.subDepartment”注册架构
Mongoose 架构:
const subDepartmentSchema = new Schema({
name: { type: String, required: true },
city: { type: String, required: true }
})
const DepartmentSchema = new Schema({
name: { type: String, required: true },
city: { type: String, required: true },
subDepartment: [subDepartmentSchema]
}
)
const UserSchema = new Schema({
name: { type: String, required: true },
city: { type: String, required: true },
department: { type: Schema.Types.ObjectId, required: true, ref: 'department' },
subDepartment: { type: Schema.Types.ObjectId, required: true, ref: 'department.subDepartment' },
active: { type: Boolean, required: true, default: true }
}
)
const Department = mongoose.model('department', DepartmentSchema)
const User = mongoose.model('user', UserSchema)
功能:
const result = await User.findById('5d31dfeec4d0af0cb2f448fc').populate('subDepartment')
console.log(JSON.stringify(result.subDepartment))
在数据库中,我必须只有两个文档(部门和用户),子部门应该是部门的子文档
如何填充“子部门”?
【问题讨论】:
标签: node.js mongoose mongoose-populate