Node.js 如何在mongodb中保存表单输入数组?

Node.js 如何在mongodb中保存表单输入数组?,node.js,express,mongoose,pug,Node.js,Express,Mongoose,Pug,这是我正在使用的表格: <form method="post" enctype="multipart/form-data"> <label class="label">Class Name</label> <label class="input"> <input type="text" name="class_name[]"> </label> <label class="label">G

这是我正在使用的表格:

<form method="post" enctype="multipart/form-data">
  <label class="label">Class Name</label>
  <label class="input">
    <input type="text" name="class_name[]">
  </label>
  <label class="label">Grade</label>
  <label class="input">
    <input type="text" name="grade[]">
  </label>
</form>
var SchoolSchema = new mongoose.Schema({
  classroom: [{
    Name: {
      type: String,
      required: true
    },
    grade: {
      type: Number,
      default: 1
    }
  }]
});
首先,我尝试使用以下功能保存数据:

var School = new mongoose.Schema.model('School');

exports.submit = function(req, res) {
  var classRooms = [];
  for (var i = 0; i < req.body.class_name.length; i++) {
    classRooms.push({Name: req.body.class_name[i], grade: req.body.grade[i]});
  }
  School.create({classroom: classRooms}, function(err, school) {
    ...
  });
};
应该是这样的

classroom:[{Name:ABC, Grade:1},{Name: EFG, Grade:2}]
我甚至尝试更改以下功能:

var School = new mongoose.Schema.model('School');

exports.submit = function(req, res) {
  var classRooms = [];
  for (var i = 0; i < req.body.class_name[0].length; i++) {
    classRooms.push({Name: req.body.class_name[0][i], grade: req.body.grade[0][i]});
  }
  School.create({classroom: classRooms}, function(err, school) {
    ...
  });
};

请任何人告诉我我做错了什么,以及如何纠正。谢谢

对于单条目和多条目这两种情况,req.body.class_name数据是什么样子的?另外,您是否使用中间件?不,我没有使用任何body解析器。我不明白你的第一个问题。我的意思是,你想知道我输入的数据类型或它是如何表示的吗?我是说,如果你做一个console.log,每个案例的数据格式是什么?bodyParser中间件可能是正确解析的解决方案。
var School = new mongoose.Schema.model('School');

exports.submit = function(req, res) {
  var classRooms = [];
  for (var i = 0; i < req.body.class_name[0].length; i++) {
    classRooms.push({Name: req.body.class_name[0][i], grade: req.body.grade[0][i]});
  }
  School.create({classroom: classRooms}, function(err, school) {
    ...
  });
};
classroom:[{Name:A,Grade:2 },{Name:B,Grade:1}]