Почти во всех случаях, с которыми вы столкнетесь, для проверки не имеет смысла запрашивать вручную, чтобы проверить, является ли значение уникальным. Mongoose автоматически создает уникальный индекс на поле, и поэтому mongodb обрабатывает фактическую проверку в этом случае.
Даже случай обработки ошибок можно легко выполнить, например, this . Тем не менее, в зависимости от вашего кода может случиться так, что есть некоторая настройка, которая потребует специальной обработки ошибок в этом случае (например, если обработка ошибок не завершена с фактическими ошибками или поток программы не должен останавливать процесс)
Другим крайним случаем могут быть запросы, которые обходят проверку mongoose напрямую с помощью драйвера mongodb, но, как упоминалось ранее, это не должно иметь значения, поскольку mongodb (не mongoose) все равно выдаст ошибку «дублирующий ключ».
Наконец, использование findOne для проверки существования объекта - не самый эффективный выбор, так как count или find (). Limit (1) может быть более производительным выбором в этом случае.