मैं पिछले एक घंटे में गुगली करता रहा, और दायरे के बारे में कुछ ऐसा देखा जिसने मुझे सोचने पर मजबूर कर दिया। निम्नलिखित कोड ने मेरी समस्या को ठीक कर दिया।
//Doctors.js
var mongoose = require('mongoose');
var schema = mongoose.Schema({
email: { type: String }
}
module.exports = mongoose.model('Doctors', schema);
//Patients.js
//var Doctors = require('./Doctors'); --> delete this line
var mongoose = require('mongoose');
var schema = mongoose.Schema({
email: { type: String },
doctor: { type: String, ref: 'Doctors' }
}
schema.pre('save', function (next, req) {
var Doctors = mongoose.model('Doctors'); //--> add this line
Doctors.findOne({email:req.body.email}, function (err, found) {
if (found) return next();
else return next(new Error({error:"not found"}));
});
});
module.exports = mongoose.model('Patients', schema);
हालांकि यह एक त्वरित सुधार था, किसी भी तरह से यह एक स्पष्ट सुधार नहीं था (कम से कम मेरे लिए)। मुद्दा चर का दायरा था।