У меня проблема с уникальным полем в Mongoose
Он работает, когда я пытаюсь создать нового пользователя с существующим адресом электронной почты или именем пользователя.
Теперь он отправляет всегда ошибку 500.
но есть ли способ эффективно обрабатывать сообщения об ошибках? Например, говорит (электронная почта уже существует или имя пользователя уже существует)?
const mongoose = require('mongoose');
const uniqueValidator = require('mongoose-unique-validator');
const userSchema = mongoose.Schema({
email : {type: String, required: true, unique: true},
password: {type : String, required: true},
userid: {type : String},
username: {type : String, required: true, unique: true},
})
userSchema.plugin(uniqueValidator);
userSchema.index({ '$**': 'text' })
module.exports = mongoose.model('User', userSchema);
и контроллеры узла:
exports.createUser = (req, res, next) => {
bcrypt.hash(req.body.password, 10).then(
(hash) => {
const user = new User({
email: req.body.email,
password: hash,
userid:req.body.userid,
username:req.body.username,
});
user.save().then(
() => {
res.status(201).json({
message: 'User added successfully!'
});
}
).catch(
(error) => {
res.status(500).json({
error: error
});
}
);
}
);
};
Спасибо за помощь