尝试启用Mongo DB身份验证时发生TypeError

dan*_*y-v 20 mongodb mongodb-shell

我正在尝试启用Mongo DB身份验证的第3步.当我尝试通过Mongo shell创建一个完全按照方向指示的用户时,shell会报告:

TypeError:对象admin的属性"createUser"不是函数

我用--auth选项启动了mongod并切换到了admin数据库.一如既往,帮助赞赏.

aru*_*run 23

如果您使用的是Mongo 2.4或更早版本,请使用addUser而不是createUser.

Mongo 2.4

使用这个(提到这里),用于读取与dbAdmin角色一起写用户:

db.addUser( { user: "joe",
              pwd: "secret",
              roles: [ "readWrite", "dbAdmin" ]
            } )
Run Code Online (Sandbox Code Playgroud)

对于只读用户:

db.addUser( { user: "joe",
              pwd: "secret",
              roles: [ "read" ]
            } )
Run Code Online (Sandbox Code Playgroud)

(在此处查看所有可能的用户角色.)

Mongo 2.2

对于这里提到的读/写用户:

use mydb;
db.addUser("joe", "secret");
Run Code Online (Sandbox Code Playgroud)

对于这里提到的只读用户:

use mydb;
db.addUser("joe", "secret", true);
Run Code Online (Sandbox Code Playgroud)


dan*_*y-v 17

问题是我试图对mongod 2.4.9执行此功能,显然不支持.2.6.0发行版中不会出现此错误消息.

  • 这个错误实际上似乎是由`mongo`的版本引起的,也就是CLI.版本2.6`mongod`上的2.4版客户端也会导致此错误. (2认同)