Mongoose: как вывести правильно ошибку, если пользователь в БД не найден

Не могу понять, почему при запросе в базе несуществующего пользователя, выдается совсем другая ошибка, не та что я задал:

const userSchema = new mongoose.Schema({
  name: {
    type: String,
    minlength: [2, 'Минимальная длина имени 2 символа'],
    maxlength: [30, 'Максимальная длина имени 30 символов'],
    required: true,
  },
  about: {
    type: String,
    minlength: [2, 'Минимальная длина 2 символа'],
    maxlength: [30, 'Максимальная длина 30 символов'],
    required: true,
  },
  avatar: {
    type: String,
    required: true,
    validate: {
      validator: (url) => pattern.test(url),
      message: (props) => `${props.value} некорректная ссылка`,
    },
  },
});

module.exports = mongoose.model('user', userSchema);

const getUser = (req, res) => {
  User.findById(req.params.userId)
    .orFail(
      () => new Error(`Пользователь с таким _id ${req.params.userId} не найден`) //надо получить эту строку
    )
    .then((user) => res.send({ data: user }))
    .catch((err) => res.status(404).send({ error: err.message }));
};

Если id корректный, то возвращается правильный пользователь, если же задать неверный id, но возвращается:

{
    "error": "Cast to ObjectId failed for value \"5f0197c45434e93ca4eab6d399\" at path \"_id\" for model \"user\""
}

Ответы (0 шт):