【问题标题】:How to join to different schema using mongoose?如何使用猫鼬加入不同的模式?
【发布时间】:2021-09-11 14:14:18
【问题描述】:

我有 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 向其添加部分,如“X-A”、“X-B”、“X-C”等。我想在创建部分时为该部分提供类创建的参考。我怎样才能实现这个功能?

【问题讨论】:

    标签: node.js mongodb express mongoose nestjs


    【解决方案1】:

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

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

    然后你可以使用猫鼬populatefindaggregation加入

    【讨论】:

      猜你喜欢
      • 2017-04-22
      • 2014-01-13
      • 2016-01-27
      • 1970-01-01
      • 2018-11-28
      • 2020-03-10
      • 2020-03-27
      • 2019-08-12
      • 2016-08-05
      相关资源
      最近更新 更多