Javascript 如何在mongodb中存储表单中的数组

Javascript 如何在mongodb中存储表单中的数组,javascript,node.js,mongodb,pug,Javascript,Node.js,Mongodb,Pug,我有一张像这样的表格 <form> <label class="label">Class Name</label> <label class="input"> <input type="text" name="class_name[]"> </label> </section>

我有一张像这样的表格

<form>
              <label class="label">Class Name</label>
              <label class="input">
                <input type="text" name="class_name[]">
              </label>
            </section>
            <div class="row">
              <section class="col col-5">
                <label class="label">Grade</label>
                <label class="input">
                  <input type="text" name="grade[]">
                </label>
</form>

请建议我如何将表单中的数据保存在此数据库中。

您需要先将您的SchoolSchema注册到mongoose

mongoose.Schema.model('School', SchoolSchema);
然后,在控制器上:

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) {
    ...
  });
};
var-School=newmongoose.Schema.model('School');
exports.submit=函数(请求、回复){
var=[];
对于(变量i=0;i

注意:请遵循NodeJS/Javascript约定

Hi,使用上述方法存储这些值时没有什么错误。数据库中只有一个条目是以“a,b,c”的形式输入的,而应该有三个条目是以a,b和c的数据输入的。您可以编辑您的问题以比较db的预期和实际输出吗?当我使用您提供的解决方案时,我得到的结果是db=>[{Name:a,b,Grade:1,2}],而它应该是=>[{姓名:a,年级:1},{姓名:b,年级:2}]。
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) {
    ...
  });
};