我制作了三个架构,如下例所示。
父用户模型
const UserSchema = new mongoose.Schema(
{
email: {
type: String,
required: true,
unique: true,
},
password: {
type: String,
require: true,
},
},
{
timestamps: true,
discriminatorKey: "userType",
id: false,
}
);
module.exports = mongoose.model("user", UserSchema);
另两个是从UserModel继承的
const TeacherSchema = new mongoose.Schema(
{
example: {
type: String,
},
}
);
module.exports = UserModel.discriminator("teacher", UserSchema);
const StudentSchema = new mongoose.Schema(
{
example: {
type: String,
},
}
);
module.exports = UserModel.discriminator("student", UserSchema);
当我将数据保存给学生或老师时
它只是将所有内容添加到用户文档
。虽然我可以用
将它们分开discriminatorKey: "userType",
我试图将公用数据保留在用户表中,而其他保留在基于角色的单独文档中。 我无法理解Official Docs,因为它似乎应该按照我的想法工作。 我也怀疑这件事如何在我的唯一索引上起作用。 任何帮助,将不胜感激。