【发布时间】:2020-03-22 02:56:45
【问题描述】:
我想使用 MEAN APPLICATION 将表单数据存储在“moongodb”中
当我通过 Angular 表单或使用邮递员发布表单值时,所有值都不会存储,甚至不会为它们创建任何空间。
这是课程模型
const mongoose = require('mongoose');
const CourseSchema = mongoose.Schema({
degprog:String,
session:String,
semester:String,
c_code:String,
c_title:String,
c_hours:String,
c_goals:String,
m_quiz:Number,
m_assign:Number,
m_lab:Number,
m_mid:Number,
m_final:Number,
m_total:Number,
c_coprdinator:String,
c_url:String,
c_catelog:String,
c_tbook:String,
c_reference:String,
teacher:{
type:mongoose.Schema.Types.ObjectId,
ref:"teacher",
}
});
module.exports = mongoose.model('course', CourseSchema);
这是课程控制器文件
const Teacher = require('../models/teacher.model.js');
const mongoose = require('mongoose');
// Create and Save a new Course
exports.create = async (req, res) => {
if (!req.body.courseCode) {
return res.status(400).send({
message: "Note Course Code can not be empty"
});
}
//searching for a teacher to add course
const teacher = await Teacher.findOne({ _id: req.params.teacherId });
// Create a Course
const course = new Course();
course._id = mongoose.Types.ObjectId(),
course.degprog = req.body. degreeProgram;
course.session = req.body.session;
course.semester = req.body.semester;
course.c_code = req.body.courseCode;
course.c_title = req.body.courseTitle;
course.c_hours = req.body.creditHours;
course.m_quiz = req.body.quiz;
course.m_assign = req.body.assignment;
course.c_coprdinator = req.body.courseCoordinator;
course.c_url = req.body.url;
course.c_catelog = req.body.courseCatelog;
course.c_tbook = req.body.textbook;
course.c_reference = req.body.reference;
course.c_goals = req.body.goals;
course.teacher = req.body.teacherId;
course.m_lab = req.body.lab;
course.m_mid = req.body.mid;
course.m_final = req.body.final;
course.m_total = req.body.total;
//save course in dataBase and attach to particular teacher
await course.save();
await teacher.courses.push(course._id);
await teacher.save();
res.send(course);
};
这个是路由文件
app.post('/teacher/:teacherId/course', course.create);
仅在“URL”值存储之前。为什么剩余的值没有保存?
【问题讨论】:
-
只有在使用 Angular 响应式表单或邮递员成功发布数据时,此数据才会保存在数据库中 { "_id":"5ddd47c1a4de66183cf9ab64", "degprog":"MCS", "session “:”2017-19,“学期”:“2nd”,“c_code”:“424234”,“c_title”:“SE”,“c_hours”:“4234”,“m_quiz”:77,“m_assign”: 88,“c_coprdinator”:“88”,“c_url”:“fMu”,“m_lab”:888,“__v”:0 }
-
@DanStarns 你是什么意思?
-
你使用的是 body-parser 还是 express.json() ?
-
你有 console.log(req.body) 吗?
标签: node.js mongodb angular7 angular-reactive-forms