我正在尝试使用Mongoose在问题数组中添加一个条目。 但是,mongoose说我访问的数据是未定义的。
{"content":
{"_id":"58c6f76e06e6edda1b000007",
"name":"testCourse",
"__v":0,
"subjects":
[{"name":"testSubject",
"_id":"58c6f85280a5d6591c000007",
"questions":[]}
]
}
}
这是我创建条目的方法:
module.exports.makeQuestion = function(req, res){
var courseid = req.params.courseid;
var subjectid = req.params.subjectid;
console.log("cou:"+ courseid + " sub:"+ subjectid);
Course.findById(courseid, function(err, course){
course.subjects.questions.push({question: req.params.question,
answer:req.params.answer})
sendJSONResponse(res, 200, course);
});
}
添加条目时我犯了什么错误?
答案 0 :(得分:0)
这是因为course.subjects
是一个数组。因此,它不知道您要将对象推送到哪个子文档。要解决这个问题,您可以执行course.subjects.id(_id).questions.push(question)
,如果您知道子文档对象的ID,它应该可以工作。否则你必须遍历数组才能找到你正在寻找的数组。