уникальный атрибут не работает дубликаты мангуста все еще добавляются

#node.js #database #mongodb #mongoose #mongoose-schema

Вопрос:

поэтому я попробовал предыдущие решения этой проблемы 1-удаление коллекции 2-удаление базы данных 3-добавление выпадающих списков ничего не сработало

 const userSchema = new Schema({
    name: {
        type: String,
        required: [true, "please Enter your Name"],
        lowercase: true,
    },
    username: {
        type: String,
        required: [true, "please Enter your user name"],
        index: { unique: true, dropDups: true },
    },
    email: {
        type: String,
        required: [true, "please Enter your Email"],
        unique: true,
        lowercase: true,
        validate: [isEmail, "please Enter a valid Email"],
    },
    password: {
        type: String,
        required: [true, "please Enter a Password"],
        minlength: [8, "minimum password length is 8 characters"],
    },
    address: {
        type: String,
        required: [true, "please Enter your address"],
    },
});


module.exports = User = mongoose.model("user", userSchema);
 

если у кого-нибудь есть обновленное решение, это было бы здорово

Ответ №1:

что вы используете для добавления нового пользователя? У меня была та же проблема, что и при использовании User.create(…) Вместо этого используйте нового пользователя ( … ), как так

 async addUser(req, res) {
        const { name, username, email, password, address } = req.body;
        try {
            const user = new User({
                name: name,
                username: username,
                email: email,
                password: password,
                address: address,
            });
            const data = await user.save();
            res.status(201).json(data);
        } catch (err) {
            
            res.status(400).send(err);
        }