Si MongoDB se inicia con las opciones --auth o --keyFile, se debe autenticar antes de poder realizar cualquier operación con el controlador. Se podría autenticar una conexión especificando el nombre de usuario y la contraseña, o bien en el URI de conexión, o bien en las opciones "username" y "password" de MongoClient::__construct().
Ejemplo #1 Autenticación en la base de datos "admin"
<?php
// Especificar el nombre de usuario y la contraseña en el URI de conexión (preferido)
$m = new MongoClient("mongodb://${username}:${password}@localhost");
// Especificar el nombre de usuario y la contraseña mediante el arrar de opciones (alternativa)
$m = new MongoClient("mongodb://localhost", array("username" => $username, "password" => $password));
?>
Por omisión, el controlador autenticará en la base de datos admin. Se podría autenticar en una base de datos diferente especificándola en el URI de conexión o en la opción "db" de MongoClient::__construct().
Ejemplo #2 Autenticación en bases de datos normales
<?php
// Especificar la base de datos de autenticación en la URI de conexión (preferido)
$m = new MongoClient("mongodb://${username}:${password}@localhost/myDatabase");
// Especificar la base de datos de autenticación mediante el arrar de opciones (alternativa)
$m = new MongoClient("mongodb://${username}:${password}@localhost", array("db" => "myDatabase"));
?>
Si la conexión se your connection is dropped, the driver will automatically attempt to reconnect and reauthenticate you.