2016-02-06 5 views
0

Я пытаюсь подключиться к экзамену базы данных mongodb с помощью библиотеки codeigniter mongodb Codeigniter-mongo-library-master. Я создал пользователя для этого db, используяОшибка Codeigniter Не удалось подключиться к MongoDB: Не удалось подключиться: auth failed

db.createUser({ user: "root", 
    pwd: "root", 
    roles: [ 
    { role: "readWrite", db: "exam" }, 
    ] 
}} 

Это было успешно.

Тогда, когда я пытался подключиться к этой базе данных в CodeIgniter с помощью:

$config['mongo_db']['default']['no_auth'] = FALSE; 
$config['mongo_db']['default']['hostname'] = 'localhost'; 
$config['mongo_db']['default']['port'] = '27017'; 
$config['mongo_db']['default']['username'] = 'root'; 
$config['mongo_db']['default']['password'] = 'root'; 
$config['mongo_db']['default']['database'] = 'exam'; 

Я получил сообщение об ошибке, как показано ниже:

Невозможно подключиться к MongoDB: Не удалось подключиться к: localhost: 27017: Ошибка аутентификации в базе данных «экзамен» с именем пользователя «root»: auth не удалось.

Я использую PHP версии 5.5.12 и MongoDB драйвер php_mongo-1.5.1-5.5-VC11-x86_64.dll на Windows 7.

Могу ли я получить помощь в решении этой проблемы?

ответ

0

Теперь откройте ваш контроллер или файл модели, где вам нужно другое подключение к базе данных, и введите код ниже в конструкторе класса.

$this->load->library('mongo_db', array('activate'=>'newdb'),'mongo_db2');

+0

Hi. Извините за задержку с ответом. Я не понял вашего ответа. Не могли бы вы рассказать. Вы сказали, что мне нужно использовать вышеуказанный код, если я хочу другое соединение с базой данных. Но зачем мне это нужно? У меня уже есть «экзамен» базы данных с учетными данными пользователя. –

1

попробуйте изменить значение этой переменной:

$ конфигурации [ 'mongo_db'] [ 'по умолчанию'] [ 'no_auth'] = FALSE

до

$ config ['mongo_db'] ['default'] ['no_auth'] = TRUE

Смежные вопросы