Не удалось подключиться к исключению MongoLab: ошибка входа

Я пытаюсь развернуть свое приложение Node.js + MongoDB.

  1. Я развернул свое приложение на Heroku. Добавлены дополнения Mongolab к приложению.

  2. Открыл мою базу данных и создал новое имя пользователя: dima; пароль: *** (Добавить пользователя базы данных).

  3. Затем я пытаюсь подключиться к БД:

    Моя консоль:

    монго ds039135.mongolab.com:39135/heroku_xkbthxdx -u дима -p ***

    Версия оболочки MongoDB: 2.4.9

    подключение к: ds039135.mongolab.com:39135/heroku_xkbthxdx

    Пт, 19 февраля, 19:26:50.181 Ошибка: 18 {ok: 0.0, errmsg: «ошибка аутентификации», код: 18} в src/mongo/shell/db.js:228

    исключение: не удалось войти

Чего в этом не хватает? Спасибо!


person Dima Savchenko    schedule 19.02.2016    source источник


Ответы (2)


Ваша mongo версия оболочки 2.4.9. В настоящее время все базы данных MongoLab Sandbox имеют версию 3.

Обновите оболочку mongo до 3.x.y — желательно, чтобы основные версии выпуска для клиента и сервера совпадали, MongoDB может быть чувствительна к несоответствиям в основных версиях. Например: используйте оболочку 3.0.x с сервером 3.0.x, оболочку 2.6.x с сервером 2.6.x и т. д.

Редактировать - добавив «почему»: начиная с 3.0, механизм аутентификации по умолчанию — SCRAM-SHA-1, который не поддерживает оболочка 2.4 mongo, поэтому аутентификация не удалась.

person pneumee    schedule 19.02.2016

И затем, если у вас есть какие-либо проблемы с вашим пользователем/паролем, вы можете получить имя пользователя и пароль своей базы данных с помощью:

heroku config | grep MONGODB_URI

Ответ в виде:

MONGOLAB_URI: mongodb://username:[email protected]:12345/db

person Aboozar Rajabi    schedule 02.12.2016