这是我的架构的相关部分:
data = $.param(data);
此处的费率和推荐是学生在该课堂环境中有效的属性,不能从学生模型中填充。
有没有办法定义我的架构,以便我可以保留这些字段(费率和推荐),还可以使用populate链接其他字段,例如学生的姓名,年龄等?
答案 0 :(得分:1)
将架构更改为:
var classroomSchema = mongoose.Schema({
students: [{
rate: { type: Number, default: 200 },
user: { ref: 'User', type: Schema.Types.ObjectId },
referrals: [mongoose.Schema.Types.ObjectId],
}],
});
用法:
classroom
.findOne(...)
.populate('user')
.exec((err, classroom) => {
let student0 = classroom.students[0];
// student0.rate
// student0.user.name
});