【发布时间】:2018-02-28 02:37:42
【问题描述】:
我有以下代码:
var lesson = new Lesson({
classroomId: req.params.classroomId,
name: req.body.name,
startDate: startDate1,
endDate: endDate1,
teacher: {
_id: classroom.teacher._id,
attendance: [],
},
students: [],
});
lesson.save();
当我签入后端时,教师键只有_id属性,而出勤属性没有保存。我怀疑这是因为它是一个空数组。如何保存这样的空数组?
【问题讨论】:
-
尝试分配 var att = [] 并在出勤属性中使用此变量,例如出勤:att;
-
我怀疑这实际上是因为定义的架构与您提交的内容不匹配。如果您仍然不确定,请在问题中显示您的架构。默认情况下,Mongoose 会在文档中创建空数组,即使您根本不提供任何数据。通常的要求是“压制”它。如果你没有得到数组,那么你的架构实际上并不是你想象的那样。
-
这是架构的相关部分。老师:{ _id:mongoose.Schema.Types.ObjectId,出勤:[{ connectTime:Date,disconnectTime:Date,_id:false,}],},