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) {
...
});
};