【发布时间】:2015-10-27 23:28:21
【问题描述】:
我想在我的 Student 模型和我的 Formation 模型之间定义一对多的关系:1 个学生属于 1 个编队,一个编队可以由 N 个学生组成。
我的需求是:
- 能够使用其学生填充 Formation 文档
- 轻松检索学生队形
所以我写了:
let student = new Schema({
firstName: {
type: String
},
lastName: {
type: String
},
formation : {
type: Schema.Types.ObjectId,
ref: 'Formation'
}
});
let formation = new Schema({
title: {
type: String
},
students: [{ type: Schema.Types.ObjectId, ref: 'Student' }]
}
当我在搜索有关与 mongodb/mongoose 的一对多关系的文档时,我很惊讶地发现,当我想创建一个学生文档(并将其添加到一个结构中)时,我不能只需将其“编队”字段设置为编队ID,并将其推送到编队文档“学生”字段。
这是否意味着当我想用另一个队形替换一个学生的队形时,我需要 1/ 更新其队形字段 2/ 从队形“学生”字段中删除自己的学生 ID 并将其重新添加到学生领域的新阵型?
这对我来说似乎有点多余。我错过了什么吗?
【问题讨论】:
标签: mongoose one-to-many