Я создаю express.js
сервер и использую mongoose
модели для обработки моих данных.
Я пришел из реляционной базы данных, так что я могу думать об этом все неправильно, но я хочу создать в моих моделях отношения, которые позволят мне разрешить только определенные значения в указанном поле c на основе данных из другой модели.
Например, у меня есть модель Patient
, которая "принадлежит «модель User
, в том смысле, что у пользовательских объектов есть поле с именем therapist_id
(терапевт - это тип пользователя) - отношение один ко многим. Когда я создаю запись Patient
, я хочу сначала убедиться, что therapist_id
содержит значение, которое фактически существует в качестве значения User
id в моей БД.
Я не смог найти источники это может помочь мне достичь этого.
Это мои модели:
Пользователь
const userSchema = mongoose.Schema({
__id: mongoose.Schema.ObjectId,
full_name: {type: String, required: true},
email: {type: String, required: true, unique: true},
password: {type: String, required: true},
role: {type: String, required: true},
registered_at: {type: Date, default: Date.now}
});
Пациент
const patientSchema = mongoose.Schema({
__id: mongoose.Schema.ObjectId,
full_name: {type: String, required: true},
personal_id: {type: Number, required: true, unique: true},
therapist_id: {type: mongoose.Schema.ObjectId, required: true},
registered_at: {type: Date, default: Date.now}
});