Я публикую это, потому что у меня возникли проблемы с поиском этого решения в Интернете. Проблема неловкая, но сообщение об ошибке и сценарий несколько затрудняют ее выяснение, поэтому я надеюсь немного сэкономить. Мое приложение смогло установить соединение с базой данных, запустить и обслуживать статические страницы, но каждый раз, когда он пытался выполнить запрос, я получил эту ошибку.
MongoError: not authorized on mydb to execute command { count: "urls", query: {} }
Эта ошибка была вызвана идентификатором пользователя и паролем с помощью неправильный разделитель
mongodb://myuserid/mypassword@ds112345.mlab.com:12345/mydb [wrong]
mongodb://myuserid:mypassword@ds112345.mlab.com:12345/mydb [right]
Хотя приложение-узел удалось успешно подключиться к MongoDB, неверно отформатированный URI заставил драйвер пропустить аутентификацию до выдачи команд базы данных.
Спасибо и наконечник шляпы людям при поддержке mLab.