MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Mongoose Validate Foreign Key (ref)

Tôi đã tiếp tục truy cập Google trong một giờ qua và thấy điều gì đó về phạm vi khiến tôi phải suy nghĩ. Đoạn mã sau đã khắc phục sự cố của tôi.

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

Mặc dù đây là một bản sửa lỗi nhanh chóng, nhưng nó không phải là một bản sửa lỗi rõ ràng (ít nhất là đối với tôi). Vấn đề là phạm vi của các biến.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Phân trang hiệu quả trong MongoDB bằng cách sử dụng mgo.v2 và MongoDB> 4.2

  2. ConversionFailedException:Duy trì một DBObject nhưng việc truy xuất trả về một LinkedHashMap <?,?>

  3. MongoDB mua mLab - Các lựa chọn thay thế lưu trữ MongoDB khác nhau là gì?

  4. MongoEngine - Một người dùng khác đã được xác thực vào cơ sở dữ liệu này. Bạn phải đăng xuất trước

  5. Đánh giá có điều kiện một phần tử mảng để trả về