我有一个远程mongo数据库,我已经设置了一个特定的数据库和一个dbOwner权限的用户。 我可以用这个用户信息访问这个数据库,但我不能使用copyDatabase复制这个数据。 我读过查找访问权限是必需的,但不是所有者访问权限的一部分? 在文档( http://docs.mongodb.org/manual/reference/built-in-roles/ )中特别提到,拥有者拥有所有的pipe理员权限,pipe理员拥有发现权。 但是,当试图调用这个函数,我越来越
“errmsg”:“exception:nextSafe():{$ err:\”未经授权查询db1.system.users \“,
作为参考,这里是getUser返回的内容:
db.getUser( 'MU1')
- keepalived:第二个VRRP_Script似乎永远不会运行
- 如何获得MongoDB服务器本地时间?
- 当我拥有涉及的所有证书的所有权时,如何解密sslencryption的mongo线协议以进行检查?
- MongoDB WiredTiger存储不使用两个CPU核心
- 在特定的PHP版本上安装MongoDB扩展
{“_id”:“db1.mu1”,“user”:“mu1”,“db”:“db1”,“roles”:[{“role”:“dbOwner”,“db”:“db1”}] }
这怎么可能发生在db1的拥有者身上?
谢谢!
对源数据库和目标数据库都有访问要求,以便能够执行副本。 假设你使用的是2.6(我认为你已经在2.6中引入了dbOwnerangular色),这里需要详细说明(注意:你不应该在2.4中使用copyDatabase):
http://docs.mongodb.org/manual/reference/method/db.copyDatabase/#required-access
该副本实际上运行在目标实例(您正在复制的那个)上,所以我猜这是这里的问题,您没有在目标主机上的正确权限 。