单个MongoDB模式中的多个引用

时间:2018-07-19 16:19:15

标签: mongodb mongoose-schema

我是MongoDB的新手。我有以下架构,其中有两个对其他两个表的引用(eventregdetail)。

var MessageSchema = new Schema({
    event: { type:Schema.ObjectId, ref:"Event", index: true },
    regdetail:{ type:Schema.ObjectId, ref:"Registrant", index: true },
    status: {type:String, require:true},
    content: { type: String, require: true },
    createTime:{type:Date,require:false,default:Date.now},

},{
    //no auto indexing at the beginning
    autoIndex:false,

    strict:false}
);

我想知道这是否是在猫鼬中声明多个引用的最佳方法,还是有更短的方法?

任何提示都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

是的,可以。

根据您的要求,您的message高度依赖eventregdetail。因此,您可以轻松获取messageeventregdetail的数据。

选中我正在其中一个项目中使用的该项目。

var SurveySchema = new Schema({
  title: {
    type: String,
    required: true
  },
  ct: {
    type: Number,
    require: true,
    default: new Date().getTime()
  },
  ut: {
    type: Number,
    require: true,
    default: new Date().getTime()
  },
  claimsList : [{
    type: Schema.Types.ObjectId,
    ref: 'claims'
  }],
  surveyAnalysisType : {
    type: Schema.Types.ObjectId,
    ref: 'surveyAnalysisType',
    required: true
  },
  assignedUserList : [{
    type: Schema.Types.ObjectId,
    ref: 'User'
  }],
  language: {
    type: Schema.Types.ObjectId,
    ref: 'language',
    required: true
  }
});