在我的应用程序中,有两个主要角色1]用户2]医生。和2种模型,一种是针对用户的,另一种是针对医生的。当角色为医生时,医生模型具有一些我想从用户模型访问的专业细节。
这是我尝试过的
用户模型
const mongoose = require("mongoose");
const { schema, DocSchema } = require("./doctor.model");
const docSchema = require("./doctor.model").DocSchema;
const Schema = mongoose.Schema;
const UserSchema = new mongoose.Schema({
name: {
type: String,
required: true,
},
email: {
type: String,
required: true,
},
password: {
type: String,
required: true,
},
phone: {
type: String,
required: true,
},
city: {
type: String,
},
state: {
type: String,
},
date: {
type: Date,
default: Date.now,
},
select: {
type: String,
},
role: {
type: String,
enum: ["admin", "user", "doctor"],
default: "user",
},
isVerified: { type: Boolean, default: false },
resetPasswordToken: { type: String },
resetPasswordExpires: { type: Date },
professional_details: [
{
type: Schema.Types.ObjectId,
ref: "docSchema",
role: "doctor",
},
],
doctor: [docSchema],
});
const User = mongoose.model("User", UserSchema);
module.exports = User;
医生模型
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const User = require("./users").User;
const DocSchema = new mongoose.Schema({
bio: {
type: String,
required: true,
},
speciality: {
type: String,
required: true,
},
education: {
type: String,
required: true,
},
treatment: {
type: String,
required: true,
},
location: {
type: String,
required: true,
},
hospitalList: {
type: String,
required: true,
},
achievements: {
type: String,
},
awards: {
type: String,
},
fee: {
type: String,
required: true,
},
img: { data: Buffer, contentType: String },
userRef: [
{
type: Schema.Types.ObjectId,
ref: "User",
},
],
});
const Doctor = mongoose.model("Doctor", DocSchema);
module.exports = { Doctor: Doctor, DocSchema: DocSchema };
现在,当用户注册为角色医生时,如何访问医生模式中的专业详细信息
预先感谢