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;
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.