Mongodb PHP-драйвер: как создать базу данных и добавить к ней пользователя?

поэтому, используя оболочку mongodb, я смог создать базу данных и добавить к ней имя пользователя и пароль. Как я могу сделать то же самое в php? У меня все установлено и можно подключиться к серверу mongodb.

Однако я не могу найти какую-либо информацию по адресу http://www.php.net/manual/en/mongo.tutorial.php

Solutions Collecting From Web of "Mongodb PHP-драйвер: как создать базу данных и добавить к ней пользователя?"

Я не верю, что addUser() реализован в драйвере PHP.

Однако есть execute которое должно позволить вам делать addUser() же, как и из оболочки mongo:

http://us.php.net/manual/en/mongodb.execute.php

EDIT: после тестирования я не смог execute чтобы сделать то, что вы хотели, но я обнаружил, что следующие работы:

 <?php // open connection $mongo = new Mongo("mongodb://" . MONGO_USER . ":" . MONGO_PASS . "@" . MONGO_HOST, array("persist" => "abcd1234")); $db = $mongo->selectDB("admin"); // user info to add $username = "testUser"; $password = "testPassword"; // insert the user - note that the password gets hashed as 'username:mongo:password' // set readOnly to true if user should not have insert/delete privs $collection = $db->selectCollection("system.users"); $collection->insert(array('user' => $username, 'pwd' => md5($username . ":mongo:" . $password), 'readOnly' => false)); ?> 

Это добавляет нового пользователя в админ db на моем сервере – проверяется через оболочку mongo после выполнения PHP-скрипта.

Тем не менее, почему вы хотите добавить пользователя Mongo из PHP-скрипта?

Способ создания нового пользователя mongodb из PHP осуществляется через команду MongoDB :::

 //info to add $db_name = 'db_name'; $db_user = 'new_user'; $db_pass = 'new_pass'; //autenticate with a user who can create other users $mongo = new MongoClient("mongodb://root:root@localhost/admin"); $db = $mongo->selectDB( $db_name ); //command to create a new user $command = array ( "createUser" => $db_user, "pwd" => $db_pass, "roles" => array ( array("role" => "readWrite", "db" => $db_name) ) ); //call MongoDB::command to create user in 'db_name' database $db->command( $command ); 

Протестировано с mongo 3.0 и PHP mongo driver 1.6