【问题标题】:I can't create multiple user in mongodb我无法在 mongodb 中创建多个用户
【发布时间】:2023-03-10 13:20:01
【问题描述】:

所以我正在使用 MERN 中的护照在我的网络上构建身份验证系统。

所以注册用户等一切正常

但是当我尝试使用不同的凭据重新注册时,它不起作用。

有没有办法解决这个问题?

这是我的代码:

const Strategy = require('passport-local').Strategy
const mongoose = require('mongoose')
const User = require('../models/user');
const bcrypt = require('bcryptjs')

const salt = bcrypt.genSaltSync(10);

const SignupStrategy = new Strategy ({ passReqToCallback:true, usernameField: 'email' }, function(req, email, password, done){ 

    User.findOne({email: req.body.email}).lean().exec((err, user) => {
        if (err) {
            return done(err, null);
        }

        if (!user) {
            const encryptedPassword = bcrypt.hashSync(password, salt);
            let newUser = new User({
                email,
                password: encryptedPassword,
                first_name: req.body.first_name,
                last_name: req.body.last_name,
                date: req.body.date
            })

            newUser.save((error, inserted) => {
                if (error) {
                    return done(error, null);
                }

                return done(null, inserted);

            })
        }   
        if (user) {
            return done("User already exist", null);
        }
    })

});

module.exports = SignupStrategy;

【问题讨论】:

    标签: node.js reactjs mongodb passport.js


    【解决方案1】:

    没关系,我在多个项目中使用同一个 MongoDB 用户,而我在多个项目中拥有同一个集合,这就是它不起作用的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-09
      • 2017-05-06
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      • 1970-01-01
      • 2017-01-17
      • 2018-03-28
      相关资源
      最近更新 更多