Правильное подтверждение пользователя с помощью email mongodb
Дело в том, что я использую node.js/mongoDB, когда пользователь регистрируется, его схема сохраняется в базе, и поле active равно false - Это значит что он не подтвержден. Ему отправляется письмо, где есть уникальный url, когда он по нему перейдёт, его поле active будет true - Это значит что он подтвержден.
Вот вопрос, ещё когда пользователь регистрируется я проверяю существует ли такой пользователь, (если у него поле active равно true) если да, то отправляю ошибку, если нет (пользователя с таким email или username нет, или его поле active равно false), то пропускаю дальше.
Я боюсь что если два пользователя зарегистрируются под таким же именем username и первый подтвердит почту быстрее второго, то второй не сможет зарегистрироватся. То есть при переходе по ссылке будет
неизвестная ошибка. Что в таком случае делать? Переправить пользователя назад и сказать что такое имя уже существует? Я думаю что это не совсем правильно.
Если я буду учитывать тех пользователей у которых поле active равно и true и false, тогда если пользователь введет неверный email, ему нужно будет создавать новое имя username, так как то имя уже будет зарезервировано. Не знаю что мне делать и что выбрать, об этом не пишут, я искал и ничего не нашел, буду очень благодарен если кто-то поможет, спасибо!