我正在尝试将记录作为批量上传插入到数据库中。当电子邮件已经存在时,它不应该插入,但它正在插入。有人可以建议我帮忙吗?
data.forEach(function (v, i) {
` async.waterfall([
function (done) {console.log(filterjson)
Student.find(filterjson).exec(function (err, students) {
if (err) {
return res.status(400).send({message: errorHandler.getErrorMessage(err)});
} else { console.log('success'+students)
if (students && students.length > 0) {
console.log('fail')
writer.pipe(fs.createWriteStream('out.csv'))
writer.write({FirstName: student.first_name,LastName: student.last_name, email: student.email, mobile: student.mobile, error:'Email already exists'});
res.jsonp({ 'errorCode': common.statusCodes.COMMON, 'respMessage': 'Email already exists' });
} else {
done();
}
}
});
},
function (done) {
student.save(function (err) {
if (err) {
return res.status(400).send({message:errorHandler.getErrorMessage(err)});
} else {
done();
}
});
},
}
答案 0 :(得分:2)
请为该列添加约束
实施例
db.student.createIndex( { "email": 1 }, { unique: true } )
参考。 https://docs.mongodb.com/manual/core/index-unique/
注意:如果有任何重复数据需要删除,否则您将获得E11000重复密钥错误收集:...