有一个老师表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
属性里?这也太夸张了吧?
慕的地10843
红颜莎娜
多对一查询
mongoose如何查询mongoDB自生成的_ID
如果给一个查询变量,怎样对多个字段进行查询呢?
Hibernate如何批量查询数据?
相关分类