我的用户想通过从.json文件中加载多个学生来将他们添加到数据库中。创建个人用户时,我没有任何错误,但是如果我尝试同时进行多个插入操作,则会出现许多错误。
我尝试使用一个执行以下操作的for循环:-按照数据库模型准备一个对象-如果BD中已经有一个具有相同ID的学生该怎么办-如果它不存在,请将其添加>
function addStudentsFromCSV(req, res) {
var file_input_name = 'files/data.csv';
var student_to_add = csv2json.getJsonFromCsv(file_input_name);
var errors = new Array();
for(var i=0; i<student_to_add.length; i++) {
var student = new Student();
var name;
student.user_status = -1;
student.study_program = 'CS';
student.start_year = null;
student.house = null;
student.do_group = null;
name = student_to_add.SortableName.split(",", 2);
name[1] = name[1].replace(/^ /g, '');
student.name = name[1];
student.surname = name[0];
student.email = student_to_add[i].Email;
student.s_number = student_to_add[i].StudentNumber;
Student.find({
s_number: student.snumber
}).exec((err, students) => {
if(err) {
errors.push("User " + student.snumber + " has an error");
}
if(students && students.length >= 1) {
errors.push("User " + student.snumber + " already exists");
} else {
errors.push("User added");
student.save();
}
});
}
return res.status(500).send({
errors: errors
});
};
module.exports = {
csv,
addStudentsFromCSV
}
这是我的错误消息: TypeError:无法在C:\ creating_groups_app \ backend \ node_modules \ mongoose \ lib \ model.js:4739:16在C:\ creating_groups_app \ backend \ controllers \ admin.js:92:15设置未定义的属性'3' :\ creating_groups_app \ backend \ node_modules \ mongoose \ lib \ utils.js:263:16在C:\ creating_groups_app \ backend \ node_modules \ mongoose \ lib \ query.js:4225:11在C:\ creating_groups_app \ backend \ node_modules \ kareem \ index.js:135:16在processTicksAndRejections(内部/进程/task_queues.js:75:11) 在以下位置发出了“错误”事件: 在C:\ creating_groups_app \ backend \ node_modules \ mongoose \ lib \ model.js:4741:13 在C:\ creating_groups_app \ backend \ node_modules \ mongoose \ lib \ utils.js:263:16 [...与原始堆栈跟踪匹配的行...]在processTicksAndRejections(内部/process/task_queues.js:75:11) / p>
有人可以帮助我吗? 预先感谢