sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose Validera utländsk nyckel (ref)

Jag fortsatte att googla den senaste timmen och såg något om räckvidd som fick mig att tänka. Följande kod löste mitt problem.

//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);

Även om detta var en snabb fix, var det inte på något sätt en självklar fix (åtminstone för mig). Frågan var omfattningen av variabler.




  1. Redis är det möjligt att uppdatera flera hset-nycklar (inte fält) med hjälp av mset

  2. Hur man summerar värdet av en nyckel över alla dokument i en MongoDB-samling

  3. Hur man installerar Redis

  4. Node js / MongoDB replica set array i javascript