MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongoose Validate Foreign Key (реф.)

Продължих да търся в гугъл през последния час и видях нещо за обхвата, което ме накара да се замисля. Следният код реши проблема ми.

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

Въпреки че това беше бързо решение, в никакъв случай не беше очевидно решение (поне за мен). Проблемът беше в обхвата на променливите.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Запитване за метаданни на MongoDB GridFS (Java)

  2. Как да върнете само стойност на поле в mongodb

  3. MongoDB премахва документ на поддокумент от поддокумент

  4. Вградено страниране на коментари в mongodb

  5. MongoDb търси вложен масив между dateTimes с помощта на Robomongo