当使用正确的凭据连接到MongoDB时,为什么会出现“auth failed”错误?

时间:2015-03-23 20:24:51

标签: javascript mongodb

运行连接MongoDB的服务器时出现“auth failed”错误。我使用正确的凭据:

> db.createUser( { user: "admin2", pwd:"Testabcd", roles: [ "dbAdmin" ]} )
  

成功添加用户:{“user”:“admin2”,“roles”:[“dbAdmin”]}

var MONGO = {
    username: "admin2",
    password: "Testabcd",
    server: '127.0.0.1',
    port: '27017',
    db: 'test',
    connectionString: function(){return 'mongodb://'+this.username+':'+this.password+'@'+this.server+':'+this.port+'/'+this.db;},
    options: {server:{auto_reconnect: true,socketOptions:{connectTimeoutMS:60000,keepAlive:60000,socketTimeoutMS:60000}}}
};
将用户保存到Mongo数据库时,

说以下内容:

  

由于errorMongoError而导致用户未保存:auth failed

我已经多次工作,从未遇到过问题。现在我遇到了各种各样的问题。

1 个答案:

答案 0 :(得分:1)

' dbAdmin' 角色不允许您将用户添加到数据库。 请改用' userAdmin'

db.createUser( { user: "admin2", pwd:"Testabcd", roles: [ "userAdmin" ]} )

或者,使用' dbOwner' 角色,该角色是' readWrite' &#39的组合; dbAdmin' ' userAdmin' 角色

db.createUser( { user: "admin2", pwd:"Testabcd", roles: [ "dbOwner" ]} )

参考:http://docs.mongodb.org/manual/reference/built-in-roles/