I am creating an account creation system with express.js but I would like to know how I can find out if the user already has an account (with his email) on my DB in order not to register him twice.
const router = require("express").Router(),
User = require("../database/models/User.model.js");
const cryptoJS = require("crypto-js");
//REGISTER
router.post("/register", async (req, res) => {
const { username, email, password } = req.body;
if (User.findOne({ email: email })) {
return res.status(400).json({
message: "This email is alredy existing in our database"
});
} else {
const user = new User({
username: username,
email: email,
password: cryptoJS.AES.encrypt(
password,
process.env.CRYPTO_KEY
)
});
await user.save()
.catch(err => res.status(500).json({ error: err.message }));
}
});
module.exports = router;
const router = require("express").Router(),
const User=require("../database/models/User.model.js");
const cryptoJS = require("crypto-js");
//REGISTER
router.post("/register", async (req, res) => {
const { username, email, password } = req.body;
const checkUser = await User.findOne({ email: email })
if (checkUser) {
return res.status(400).json({
message: "This email is alredy existing in our database"
});
} else {
const user = new User({
username: username,
email: email,
password: cryptoJS.AES.encrypt(
password,
process.env.CRYPTO_KEY
)
});
await user.save()
.then(data=>res.json(data))
.catch(err => res.status(500).json({ error: err.message }));
}
});
module.exports = router;