使用expressJS检查数据库中的用户名和电子邮件
我正在尝试检查数据库中的电子邮件和用户名是否已存在。由于我使用的是mongoose和express.js,我只检查数据库中的用户名是否已经存在,但是我需要检查电子邮件和用户名并为每个用户返回一个合适的错误消息。但是,我不知道如何检查它们。以下是我到目前为止编写的一些代码:
User.findOne({
'username': username
},
function(err, user) {
if (err) {
console.log('Signup error');
return done(err);
}
//if user found.
if (user) {
console.log('Username already exists, username: ' + username);
var err = new Error();
err.status = 310;
return done(err);
}
回答如下:
使用find()函数,这可能会给你完美的结果
User.find({ 'username': username,'email':email }, function(err, user) {
if (err) {
console.log('Signup error');
return done(err);
}
//if user found.
if (user.length!=0) {
if(user[0].username){
console.log('Username already exists, username: ' + username);
}else{
console.log('EMAIL already exists, email: ' + email);
}
var err = new Error();
err.status = 310;
return done(err);
}
使用expressJS检查数据库中的用户名和电子邮件
我正在尝试检查数据库中的电子邮件和用户名是否已存在。由于我使用的是mongoose和express.js,我只检查数据库中的用户名是否已经存在,但是我需要检查电子邮件和用户名并为每个用户返回一个合适的错误消息。但是,我不知道如何检查它们。以下是我到目前为止编写的一些代码:
User.findOne({
'username': username
},
function(err, user) {
if (err) {
console.log('Signup error');
return done(err);
}
//if user found.
if (user) {
console.log('Username already exists, username: ' + username);
var err = new Error();
err.status = 310;
return done(err);
}
回答如下:
使用find()函数,这可能会给你完美的结果
User.find({ 'username': username,'email':email }, function(err, user) {
if (err) {
console.log('Signup error');
return done(err);
}
//if user found.
if (user.length!=0) {
if(user[0].username){
console.log('Username already exists, username: ' + username);
}else{
console.log('EMAIL already exists, email: ' + email);
}
var err = new Error();
err.status = 310;
return done(err);
}