I am using node and mongoDB to create a backend service.
I do have a schema as follows :
const UserSchema = new Schema({
name : {
type : String,
required : true
},
email : {
type : String,
required : true
},
phoneNo : {
type : Number,
required : true
},
password : {
type : String,
required : true
},
avatar : {
type : String
},
date : {
type : Date,
default : Date.now()
}
})
Now I want to validate whether the phone no and email exists or not. For this check I have the following code snippet :
User.findOne({ email : req.body.email })
.then(user => {
if (user){
errors.email = 'Email already exists';
return res.status(400).json(errors);
} else {
User.findOne( {phoneNo : req.body.phoneNo})
.then (user => {
if(user) {
errors.phoneNo = 'Phone no already exists';
return res.status(400).json(errors);
}
else {
.....
So I am using nested promise. I believe this is not a good practice to go on. But I need to show different validation messages for different points. Can this be achievable in any simpler way ?