为什么我会得到一个“;auth失败”;使用正确的凭据连接到MongoDB时出错

Why am I getting an "auth failed" error when connecting to MongoDB with correct credentials?

本文关键字:出错 MongoDB 连接 auth 为什么 一个 失败      更新时间:2023-09-26

在运行连接到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数据库时会显示以下内容:

用户因错误而未保存MongoError:身份验证失败

我已经做了很多次了,从来没有遇到过问题。现在我有各种各样的问题。

'dbAdmin'角色不允许将用户添加到数据库中。改为使用'userAdmin'

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

或者,使用'dbOwner'角色,这是'readWrite'dbAdmin''userAdmin'色的组合

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

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