在php中重命名mongodb集合

在php中重命名mongodb集合,php,mongodb,codeigniter,Php,Mongodb,Codeigniter,我正试图用php实现这一点 $m = $this->mongo_db->db->selectCollection("admin"); $this->mongo_db->db->command(array('renameCollection'=> 'dbname'.$old_grpname,'to'=>'dbname'.$group_name)); 我正在使用codeigniter。。。这不起作用,也不会引发任何异常 我错在哪里 还有一种方法可以在

我正试图用php实现这一点

$m = $this->mongo_db->db->selectCollection("admin");
$this->mongo_db->db->command(array('renameCollection'=> 'dbname'.$old_grpname,'to'=>'dbname'.$group_name));
我正在使用codeigniter。。。这不起作用,也不会引发任何异常 我错在哪里

还有一种方法可以在php中使用mongodb的
renameCollection()
函数。。 我查了一下,什么也没发现

编辑: 我应该连接到管理数据库并尝试重命名集合 所以我这样做了,现在我得到了这个错误

array(3) {
  ["ok"]=>
  float(0)
  ["errmsg"]=>
  string(146) "not authorized on admin to execute command { renameCollection: "dbname.wp_content", to: "dbname.wp_content123", dropTarget: "true" }"
  ["code"]=>
  int(13)
}
我想管理员的角色可能有一些问题,但我在创建用户时已将所有权限授予管理员 我使用的命令是

db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

谢谢:)

我之前访问过该链接,现在我意识到我应该从管理员数据库执行此操作,因此我登录到管理员,现在我收到此错误“未授权管理员执行命令”我已经正确设置了所有角色我之前访问了链接,现在我意识到我应该从管理员数据库执行此操作,所以我登录到管理员,现在我收到了此错误“未授权管理员执行命令”,我已经正确设置了所有角色