我是MongoDB的新手。我已经安装了MongoDB,并想创建一个用户,让该用户能够读写所有四个数据库。我尝试了以下命令:
use admin;
db.addUser({user: "foo" , pwd: "bar", roles: [ "readWriteAnyDatabase" ]})
但是当我尝试去做的时候
mongo someotherdb -u foo -p
当我使用正确的密码进行身份验证时,它会给我一个身份验证错误。
我还尝试通过执行以下操作手动将用户添加到其他数据库中
use someotherdb
db.addUser({user: "foo", roles: ['readWrite'], userSource: "admin"});
仍然无法通过mongo shell登录或在目标数据库中使用auth命令进行登录。
我做错了什么吗?如何创建一个可以全局读写任何数据库的用户?您是否必须将该用户添加到每个数据库的system.users集合中,或者如果他们拥有“readWriteAnyDatabase”角色,则不需要这样做?
我正在使用Ubuntu上的Mongo 2.4。