Mongoose non ha una convalida incorporata per i campi univoci. Consiglio il pacchetto (con questo puoi usare il validatore univoco nei campi email e username):mongoose-unique-validator. Estendi il tuo codice con:
let uniqueValidator = require('mongoose-unique-validator');
email: {
type: String,
required: true,
trim: true,
unique: true,
index: true
},
username: {
type: String,
required: false,
trim: true,
unique: true,
index: true
}
UserSchema.plugin(uniqueValidator, {message: 'is already taken.'});