I want my function to return true or false but it seems to be returning false each time
function alreadyExist(login) {
User.findOne({login: login}, (error, user) => {
return (!error && user);
});
}
logRoute.post('/register', (req, res) => {
let userData = req.body;
let user = new User(userData);
let login = user.login;
let number = 0;
while (alreadyExist(login)){
number +=1;
login = user.login+number.toLocaleString(undefined, {minimumIntegerDigits: 2});
}
if(number>0)user.login = login;
user.save((err, registeredUser) => {
if (err) {
console.log(err)
} else {
console.log("registered\n" + registeredUser);
res.status(200).send('user registered')
}
});
}
);
my code is supposed to add a digit after the user login if a user with the same login already exist but my code only add multiple user with the same login in my database, do you know why ?