Node.js 猫鼬中的一对多关系

Node.js 猫鼬中的一对多关系,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我正在使用mean stack创建一个混合应用程序。我正在使用nosql在mongoose中创建DB。我的DB由两个表组成,一个是“捐助者”,另一个是“血族”。 我的“血型”模式如下: module.exports = function(mongoose) { var Schema = mongoose.Schema; /* bloodGroup Schema */ var bloodGroupSchema = new Schema({ name: { type: Stri

我正在使用mean stack创建一个混合应用程序。我正在使用nosql在mongoose中创建DB。我的DB由两个表组成,一个是“捐助者”,另一个是“血族”。 我的“血型”模式如下:

module.exports = function(mongoose) {
 var Schema = mongoose.Schema;  

  /* bloodGroup Schema */
  var bloodGroupSchema = new Schema({
   name: { type: String, required: true }
  });
}
/* Donor Schema */
var DonorSchema = new Schema({
 Name: { type: String, required: true },
 DOB: { type: Date, required: true, trim: true },
 Sex: { type: String },
 BloodGroupID: { type: Schema.Types.ObjectId, ref: 'BloodGroup', required: true },  
 ContactNo: { type: String, required: true },
 LocationId: { type: Schema.Types.ObjectId, ref: 'Location', required:true },
 EmailId: { type: String, required: true },
 Password: { type: String, required: true }
});
我的“捐赠者”模式如下:

module.exports = function(mongoose) {
 var Schema = mongoose.Schema;  

  /* bloodGroup Schema */
  var bloodGroupSchema = new Schema({
   name: { type: String, required: true }
  });
}
/* Donor Schema */
var DonorSchema = new Schema({
 Name: { type: String, required: true },
 DOB: { type: Date, required: true, trim: true },
 Sex: { type: String },
 BloodGroupID: { type: Schema.Types.ObjectId, ref: 'BloodGroup', required: true },  
 ContactNo: { type: String, required: true },
 LocationId: { type: Schema.Types.ObjectId, ref: 'Location', required:true },
 EmailId: { type: String, required: true },
 Password: { type: String, required: true }
});

当多个献血者引用单个血型时,会报告血型对象Id错误。如何解决此问题?

Mongo不是关系数据库,mongDB中不存在一对多关系。这个问题相当令人困惑,但在标题之后,您应该将donnors嵌入到BloodGroup中,或者创建一个您将引用的唯一Id字段并执行两个查询。

您可以参考此链接以获取文档:

拯救裁判


你们能分享一下问题本身的错误吗?你们错了。我建议你读书