PHP - MongoDB can not get Data [duplicate]

Добавлена ​​ниже зависимость и разрешена проблема

<dependency>
    <groupId>javax.xml.bind</groupId>
     <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
 </dependency>
21
задан Guy 12 May 2014 в 22:38
поделиться

5 ответов

Вам необходимо назначить роль read соответствующему пользователю.

Роль dbAdmin не включает доступ для чтения на несистемные коллекции.

20
ответ дан Sebastian 24 August 2018 в 05:32
поделиться

Для любого, кто сталкивается с этой проблемой против Mongo 3.0.6, я исправил добавление

?authMode=scram-sha1

в конце моего монгодб-ури.

Вот некоторые документы, объясняющие scram-sha1

20
ответ дан arcseldon 24 August 2018 в 05:32
поделиться

У меня была такая же проблема, пока я не понял, что допустил ошибку. Я наследовал клиента mongo, указывающего на другую базу данных из родительского класса Perl, не осознавая этого. Возможно, вы можете проверить.

-4
ответ дан Dan Chrostowski 24 August 2018 в 05:32
поделиться

В дополнение к ответу @ Себастьяна это явно означает:

Предоставить роль

Предоставить роль, используя метод db.grantRolesToUser (). Например, следующая операция предоставляет пользователю отчетов пользователя роль чтения в базе данных учетных записей:

db.grantRolesToUser(
    "your_user",
    [
      { role: "read", db: "your_db" }
    ]
)
9
ответ дан Flaudre 24 August 2018 в 05:32
поделиться

Я публикую это, потому что у меня возникли проблемы с поиском этого решения в Интернете. Проблема неловкая, но сообщение об ошибке и сценарий несколько затрудняют ее выяснение, поэтому я надеюсь немного сэкономить. Мое приложение смогло установить соединение с базой данных, запустить и обслуживать статические страницы, но каждый раз, когда он пытался выполнить запрос, я получил эту ошибку.

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.

4
ответ дан slavoo 24 August 2018 в 05:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: