MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Mongoose Walidacja klucza obcego (ref)

Przez ostatnią godzinę ciągle googlowałem i zobaczyłem coś o zakresie, co dało mi do myślenia. Poniższy kod naprawił mój 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);

Chociaż było to szybkie rozwiązanie, w żaden sposób nie było to oczywiste (przynajmniej dla mnie). Problemem był zakres zmiennych.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - rozmiar pliku jest ogromny i rośnie

  2. Uruchamianie mongod nie powiedzie się, chyba że zostanie uruchomiony jako root

  3. Czy muszę oczyścić dane wejściowe użytkownika przed wstawieniem do MongoDB (kombinacja MongoDB + Node js)

  4. MongoDB sum() dane

  5. Android:moja aplikacja nie działa, ponieważ muszę obsłużyć wyjątek nieznany host. kiedy to robię się zawiesza