【发布时间】:2017-03-11 17:42:14
【问题描述】:
首先,代码如下:
Mongoose 架构
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
// Registration Form schema
var RegistrationFormSchema = new Schema;
RegistrationFormSchema.add({
studentFirst: { type: String, required: true },
studentLast: { type: String, required: true },
studentGrade: { type: String, required: true },
guardianFirst: { type: String, required: true },
guardianLast: { type: String },
guardianEmail: { type: String },
courseString: { type: String },
courseArray: { type: Array }
});
module.exports = mongoose.model('RegistrationForm', RegistrationFormSchema);
相关 API 路由
apiRouter.route('/registerNow')
.post(function(req, res) {
var newForm = new RegistrationForm();
console.log(req.body);
newForm.studentFirst = req.body.studentFirst;
newForm.studentLast = req.body.studentLast;
newForm.studentGrade = req.body.studentGrade;
newForm.guardianFirst = req.body.guardianFirst;
newForm.guardianLast = req.body.guardianLast;
newForm.guardianEmail = req.body.guardianEmail;
newForm.courseString = req.body.courseString;
newForm.save();
}
这是在我的控制器内部,我在其中提出请求。还在 Postman 中发出具有相同响应的请求,因此不确定这是否与我的请求方式有关,但希望包含此内容以获得更多信息以获得答案。
$http.post('/api/registerNow', {
'studentFirst': vm.courseInfo.studentFirst,
'studentLast': vm.courseInfo.studentLast,
'studentGrade': vm.courseInfo.studentGrade,
'guardianFirst': vm.courseInfo.guardianFirst,
'guardianLast': vm.courseInfo.guardianLast,
'guardianEmail': vm.courseInfo.guardianEmail,
'courseString': vm.courseInfo.courseString,
'courseArray': ['asdasd', 'fasfasf', 'gasgasga']
});
现在我们有了相关的代码,问题来了!
当我发出 HTTP Post 请求以保存到我的数据库时,它会全部保存,但无论如何,它会将 courseArray 保存为空数组“[]”,无论它是空的还是满的。
我认为这是 Mongoose Schema 的问题。
【问题讨论】: