唯一属性不起作用 mongoose 重复项仍在添加中

Posted

技术标签:

【中文标题】唯一属性不起作用 mongoose 重复项仍在添加中【英文标题】:unique attribute is not working mongoose duplicates are still being added 【发布时间】:2021-09-27 07:35:04 【问题描述】:

所以我尝试了这个问题的上一个解决方案 1滴收集 2-drop数据库 3-添加dropDups 没有任何效果

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(...) 而是使用 new User (...)

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);
        

【讨论】:

以上是关于唯一属性不起作用 mongoose 重复项仍在添加中的主要内容,如果未能解决你的问题,请参考以下文章

唯一验证在 Mongoose 中不起作用

Gradle 依赖项排除后,依赖项仍在类路径上

mongoose 虚拟属性在 findById 属性中不起作用

Mongoose:通过 findOneAndUpdate 查询使用对象数组的总和更新根数据属性不起作用

Mongoose:通过 findOneAndUpdate 查询使用嵌套对象数组的总和更新父子数据属性不起作用

EF 6:添加具有默认值的新属性不起作用[重复]