在php中重命名mongodb集合
我正试图用php实现这一点在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。。。这不起作用,也不会引发任何异常 我错在哪里 还有一种方法可以在
$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" } ]
}
)
谢谢:)我之前访问过该链接,现在我意识到我应该从管理员数据库执行此操作,因此我登录到管理员,现在我收到此错误“未授权管理员执行命令”我已经正确设置了所有角色我之前访问了链接,现在我意识到我应该从管理员数据库执行此操作,所以我登录到管理员,现在我收到了此错误“未授权管理员执行命令”,我已经正确设置了所有角色