Php Mongodb:创建了一个数据库并向其中添加了用户,但无法对用户进行身份验证

Php Mongodb:创建了一个数据库并向其中添加了用户,但无法对用户进行身份验证,php,mongodb,Php,Mongodb,这是我用来将用户“someuser”添加到“someusersdatabase”的php代码 但当我导航到web视图时,它同时显示someusersdatabase和someusersdatabase.system.users 那么,用户是否没有被正确添加?当php代码运行时不会抛出错误…您可能不应该直接插入到集合中,以防有一些秘密记账和/或哈希函数不同。除此之外,字段名是user,而不是username,您可能不应该直接插入到集合中,以防正在进行一些秘密记账和/或哈希函数不同。除此之外,字段名

这是我用来将用户“someuser”添加到“someusersdatabase”的php代码

但当我导航到web视图时,它同时显示someusersdatabase和someusersdatabase.system.users


那么,用户是否没有被正确添加?当php代码运行时不会抛出错误…

您可能不应该直接插入到集合中,以防有一些秘密记账和/或哈希函数不同。除此之外,字段名是
user
,而不是
username

,您可能不应该直接插入到集合中,以防正在进行一些秘密记账和/或哈希函数不同。除此之外,字段名是
user
,而不是
username

这是另一个用户在上一个问题上提供的代码相关:这是另一个用户在上一个问题上提供的代码相关:无需调用
addUser
(手动插入也可以),但是这里的问题确实是字段名,它应该是
user
,而不是
username
。没有必要调用
addUser
(手动插入也可以),但是这里的问题确实是字段名,它应该是
user
,而不是
username
<?
// open connection

  $mongo = new Mongo("mongodb://admin:passwd@remotemongoserver:27017");
  $db = $mongo->selectDB("someusersdatabase");

$mongo->selectDB("someusersdatabase")->createCollection('__tmp_collection_');
$mongo->selectDB("someusersdatabase")->dropCollection('__tmp_collection_');

 // $collections = $db->selectCollection("tmp");
 // $collections->insert(array('t' => '1'));

  // user info to add
  $username = "someuser";
  $password = "apassword";

  // 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('username' => $username, 'pwd' => md5($username . ":mongo:" . $password), 'readOnly' => false));
Mon Jun 27 14:01:38 [initandlisten] connection accepted from client:62708 #1
Mon Jun 27 14:01:38 [conn1] auth: couldn't find user someuser, someusersdatabase.system.users