Как я могу разорвать эту круговую зависимость между этими двумя модулями JavaScript? - PullRequest
0 голосов
/ 03 апреля 2019

Как можно разорвать круговую зависимость между этими двумя модулями? В частности, assignedDoctors: [Doctor.Schema] в модели пациента и assignedPatients: [Patient.Schema] в модели врача.

/* Patient model */
const mongoose = require('mongoose')
const Notification = require('./notification')
const Appointment = require('./appointment')
const Doctor = require('./doctor')
const Medication = require('./medication')

const PatientSchema = new mongoose.Schema({
        userId: {
                type: mongoose.Schema.Types.ObjectId,
                required: [true, "Missing user id."]
        },
        notifications: [Notification.schema],
        appointments: [Appointment.schema],
        assignedDoctors: [Doctor.schema],
        medications: [Medication.schema]
});

const Patient = mongoose.model("Patient", PatientSchema);

module.exports = { Patient };

/* Doctor model */
const mongoose = require('mongoose')
const { Notification } = require('./notification')
const { Appointment } = require('./appointment')
const { Patient } = require('./patient')

const DoctorSchema = new mongoose.Schema({
        userId: {
                type: mongoose.Schema.Types.ObjectId,
                required: [true, "Missing user id."]
        },
        specialty: String,
        notifications: [Notification.schema],
        assignedPatients: [Patient.schema],
        appointments: [Appointment.schema],
});    

const Doctor = mongoose.model("Doctor", DoctorSchema);

module.exports = { Doctor };

Кто-то предложил мне решить эту проблему, введя файл третьего модуля, но я не уверен, что именно мне нужно делать. Может кто-нибудь показать мне, пожалуйста?

...