简体   繁体   中英

How can I check if a user already exist in mongoDB?

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM