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

时间:2014-04-12 19:04:23

标签: mongodb mongodb-shell

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

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

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

2 个答案:

答案 0 :(得分:23)

如果您使用的是Mongo 2.4或更早版本,请使用addUser代替createUser

Mongo 2.4

对读写用户以及dbAdmin角色使用此(如前所述here):

db.addUser( { user: "joe",
              pwd: "secret",
              roles: [ "readWrite", "dbAdmin" ]
            } )

对于只读用户:

db.addUser( { user: "joe",
              pwd: "secret",
              roles: [ "read" ]
            } )

(查看所有可能的用户角色here。)

Mongo 2.2

对于提及here的读/写用户:

use mydb;
db.addUser("joe", "secret");

对于提及here的只读用户:

use mydb;
db.addUser("joe", "secret", true);

答案 1 :(得分:17)

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