Если MongoDB запускается с опциями --auth или --keyFile, необходимо пройти аутентификацию, прежде чем выполнять какие-либо операции с драйвером. Можно аутентифицировать соединение, указав имя пользователя и пароль в URI или указать параметры "username" и "password" в MongoClient::__construct().
Пример #1 Аутентификация в базе данных "admin"
<?php
// Указание имени пользователя и пароля в URI соединения (предпочтительно)
$m = new MongoClient("mongodb://${username}:${password}@localhost");
// Указание имени пользователя и пароля через массив параметров (альтернатива)
$m = new MongoClient("mongodb://localhost", array("username" => $username, "password" => $password));
?>
По умолчанию драйвер будет проходить аутентификацию в базе данных admin. Можно аутентифицироваться в другой базе данных, указав ее либо в URI соединения, либо в параметре "db" для MongoClient::__construct().
Пример #2 Аутентификация в прочих базах данных
<?php
// Указание базы данных в URI соединения (предпочтительно)
$m = new MongoClient("mongodb://${username}:${password}@localhost/myDatabase");
// Указание базы данных через массив параметров (альтернатива)
$m = new MongoClient("mongodb://${username}:${password}@localhost", array("db" => "myDatabase"));
?>
Если подключение разорвано, драйвер автоматически попытается его восстановить и подтвердить вашу подлинность.