首页 > 解决方案 > 如何使用猫鼬加入不同的模式?

问题描述

我有 2 个名为“classSchema”和“sectionSchema”的架构,如下所示:

let classSchema = new mongoose.Schema({
  className: {
    type: String,
    required: true,
  },
  capacity: {
      type: Number
  }
});

let sectionSchema = new mongoose.Schema({
  sectionName: {
    type: String,
    required: true,
  },
  strength: {
    type: Number,
    required: true,
  },
  ofClass: {
      type: Mongoose.Schema.type.ObjectId,
  }
});

我想在使用 classSchema 时创建一个学生班级和该班级的一部分。例如:我想使用 classSchema 创建一个类“X”,然后使用 sectionSchema 向其中添加部分,如“XA”、“XB”、“XC”等。我想在创建部分时为该部分提供类创建的参考。我怎样才能实现这个功能?

标签: node.jsmongodbexpressmongoosenestjs

解决方案


看起来不像 sectionSchema 中的“ofClass”,你想要 classSchema 中引用的 sectionSchema 的 ObjectId,并将它们存储在一个数组中。就像是,

let classSchema = new mongoose.Schema({
  className: {
    type: String,
    required: true,
  },
  capacity: {
      type: Number
  },
sections:[mongoose.Schema.Types.ObjectId]
});

然后加入,你可以使用猫鼬填充查找聚合


推荐阅读