業務背景有一個老師表teacher一個學生表student一個老師關聯多個學生現在要查詢老師的信息,以及所有學生的信息我的代碼// 老師表const teacherSchema = new mongoose.Schema({
name: { type: String },
students: [{ type: mongoose.Schema.Types.ObjectId, ref: 'student' }],
});// 學生表const studentSchema = new mongoose.Schema({
name: { type: String },
teacher: { type: mongoose.Schema.Types.ObjectId, ref: 'teacher' },
});const Teacher = mongoose.model('teacher', teacherSchema);const Student = mongoose.model('student', studentSchema);
(async function test() { // 新增一個老師
const t = await Teacher.create({ name: '張老師' }); // 新增一個學生
const s = await Student.create({
name: '李四',
teacher: t._id,
}); // 將學生關聯到老師
t.students.push(s); await t.save(); // 查詢老師信息
const teachers = await Teacher.find().populate('students'); console.log(teachers);
}());輸入結果[
{ students: [ [Object] ],
_id: 5c69e591510ea44574287fea,
name: '張老師',
__v: 1 } ]問題如果一個老師對應一千個學生,難道要把1000個學生給push到老師的students屬性里?這也太夸張了吧?
- 2 回答
- 0 關注
- 1219 瀏覽
添加回答
舉報
0/150
提交
取消