【问题标题】:Populate with two models mongoose node.js?填充两个模型猫鼬 node.js?
【发布时间】:2020-11-02 00:08:14
【问题描述】:

我在node.js中使用mongoose作为orm和mongodb作为数据库和express框架来构建一个lms学习管理系统app

该应用有教师和学生两种模型

问题是我有一个数组,其中包含两个混合的对象 ID

我想根据模型填充每个字段

类似:

const array = [
   ' teacherobjectid',
   ' studentobjectid',
   ....
]

我想将学生对象 ID 填充到学生模型和教师到教师模型

请帮忙

谢谢,

【问题讨论】:

  • 如何区分哪个是studentId,哪个是teacherId?
  • 谢谢,我没有这样做,谢谢

标签: node.js database mongodb mongoose


【解决方案1】:

你可以使用这样的东西:

let my_array = ["student_id", "teacher_id"]


let students = Student.find({_id: {$in: my_array}})

let teachers = Teachers.find({_id: {$in:my_array}})

但这不是一个好主意,因为每个 id 你必须得到两个查询。

尝试在模型架构中使用 ref 来分隔 id 实体。如果您的数组来自某个 mongo 集合:

student_ids: [{
        type: mongoose.Schema.ObjectId,
        ref: "Student",
    }],

teacher_ids: [{
        type: mongoose.Schema.ObjectId,
        ref: "Teacher",
    }],

【讨论】:

    猜你喜欢
    • 2019-09-16
    • 2021-05-16
    • 2018-12-15
    • 2021-12-25
    • 2021-06-29
    • 2019-05-04
    • 2015-07-13
    • 2016-10-10
    相关资源
    最近更新 更多