sql >> Databáze >  >> NoSQL >> MongoDB

Mongoose ověřit cizí klíč (ref)

Poslední hodinu jsem googlil a viděl jsem něco o rozsahu, co mě přimělo přemýšlet. Následující kód vyřešil můj problém.

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

Ačkoli to byla rychlá oprava, v žádném případě to nebyla zjevná oprava (alespoň pro mě). Problémem byl rozsah proměnných.




  1. Jak zruším databázi MongoDB z příkazového řádku?

  2. Jak přijímat publikační zprávu Redis v Go

  3. Mongoidní agregační metody na vložených dokumentech?

  4. Jak zkrátit číslo na 3 desetinná místa