'Getting a e11000 duplicate key error when trying to create new user with mongodb

I am getting this error when i try to create a user E11000 duplicate key error collection: rajTech.users index: isAdmin_1 dup key: { isAdmin: false }

My user Schema is

import mongoose from 'mongoose'

const userSchema = new mongoose.Schema(
    {
        name: {type: String, required: true},
        email: {type: String, required: true, unique: true},
        password: {type: String, required: true},
        isAdmin: {type: Boolean, default: false, required: true, unique: true},
        
    },
    {
        timestamps:true
    }
)
const User = mongoose.model('User', userSchema)
export default User

This is my function

userRouter.post(
    '/signup',
    expressAsyncHandler(async (req, res) => {
        const newUser = new User({
            name: req.body.name,
            email: req.body.email,
            password: bcrypt.hashSync(req.body.password)
        })
        const user = await newUser.save()
        res.send({
            _id: user._id,
            name: user.name,
            email: user.email,
            isAdmin: false,
            token: generateToken(user)
    })
    }))


Solution 1:[1]

Remove unique: true from isAdmin field. Then you need to drop the index from the database db.user.dropIndexes()

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1