Проблемы с подключением с помощью MongoDB Compass

1079
wicccked

Я пытаюсь увидеть содержимое коллекции с помощью MongoDB Compass. Я установил аутентификацию по имени пользователя и паролю. Я могу войти в систему успешно, но не вижу никаких документов в коллекции. Вместо этого я вижу ошибку:

Произошла ошибка при загрузке навигации: команда hostInfo требует аутентификации.

Вот список ролей, которые имеет пользователь:

 "roles" : [ { "role" : "readWrite", "db" : "moviesDB" }, { "role" : "dbAdmin", "db" : "moviesDB" }, { "role" : "dbOwner", "db" : "moviesDB" }, { "role" : "clusterMonitor", "db" : "admin" }, { "role" : "dbAdmin", "db" : "moviesDB" } ] 

Я могу успешно запросить коллекцию, используя оболочку mongo и драйвер node.js, но не через Compass. Если бы кто-то мог сказать мне, что я делаю неправильно, я был бы признателен. Заранее спасибо!

0

1 ответ на вопрос

0
Kevin

Я обнаружил, что причина номер один простых проблем с аутентификацией в приложениях администрирования MongoDB, таких как 3T и Compass, заключается в правильном определении базы данных аутентификации. Убедитесь, что база данных аутентификации пользователя, которого вы пытаетесь авторизовать, настроена правильно.

Помимо этого, потребуется несколько скриншотов из настроек входа в систему Compass, чтобы обеспечить более глубокое понимание. Удачи!

Спасибо за ответ, Кевин! Я указываю ту же самую БД, которую я использовал для создания пользователя. Вот скриншот параметров, которые я использую: http://prntscr.com/kjvo2f wicccked 5 лет назад 1
Две другие идеи, чтобы попробовать. Они могут не работать, но всегда стоят усилий. Kevin 5 лет назад 0
Вы пробовали установить auth db для администратора? Можете ли вы предоставить пользователю временные роли clusterAdmin для кластера, чтобы определить, связана ли проблема с доступом к метаданным уровня сервера? Kevin 5 лет назад 0
Установка auth db для admin не работает, если пользователь был создан для другой БД. Я только что попытался создать того же пользователя для администратора БД, предоставив ему те же роли + роль clusterAdmin, но все равно получил ту же ошибку = ( wicccked 5 лет назад 0
Когда вы входите через оболочку, вы находитесь на той же машине, с которой пытаетесь запустить Compass? Kevin 5 лет назад 0
Я не был, но я просто попытался сделать это с той же машины и успешно подключился с помощью оболочки wicccked 5 лет назад 0
Когда вы «входите через оболочку», используете ли вы ssh для перехода на сервер, затем запускаете mongo ИЛИ запускаете ли вы mongo из оболочки на той же машине, что и приложение Compass. Причина, по которой я спрашиваю, заключается в том, что вы должны иметь прямой доступ к порту 27017 для машины, с которой вы пытаетесь запустить Compass Kevin 5 лет назад 0
Я запускаю оболочку mongo (с параметром --host) на той же машине, что и Compass wicccked 5 лет назад 0
Что ж. Единственная другая идея, которую я имею, - это взять какой-нибудь другой сторонний инструмент, такой как Studio3T, и посмотреть, сможет ли он подключиться. А за усилие возражает благодарность! Kevin 5 лет назад 0
Хорошо, спасибо за попытку помочь! wicccked 5 лет назад 0
Благодарю. Будем рады услышать, как вы решите этот вопрос ... Kevin 5 лет назад 0
Попробуйте выполнить эту команду из оболочки Монго ... [ссылка] (https://docs.mongodb.com/manual/reference/method/db.hostInfo) Kevin 5 лет назад 0
Отличная идея. К сожалению, из оболочки он запускается успешно. wicccked 5 лет назад 0