UserSchema.path('email').validate(async(email)=>{ const emailcount = await mongoose.models.User.countDocuments({email}) return !emailcount }, 'Email already exits')Que esto ayude a tu pregunta... funcionó para mí... uso en el modelo de usuario. refiérase a la explicación GRACIAS ...
En primer lugar, desde el final de la base de datos, deberá agregar una restricción única a la columna de correo electrónico . Puede consultar este enlace para obtener una mejor explicación: Mangosta: cómo evitar que mongodb guarde registros de correo electrónico duplicados en la base de datos
Cuando agrega un índice único a una columna de la tabla de la base de datos, insertar el mismo valor varias veces producirá este error. Puede verificar este error para mostrar un mensaje de error personalizado al usuario. este enlace podría ayudarlo: https://docs.mongodb.com/manual/core/index-unique/#unique-index-and-missing-field
Establezca {único: verdadero} donde define su esquema.