首页 文章

Mongoose连接身份验证失败

提问于
浏览
4

有了这个帮助,我在mongo shell中创建了一个超级用户:Create Superuser in mongo

user: "try1"
passw: "hello"

在mongo cmd中,我有3个数据库:'admin','myDatabase'和'local' .

现在我尝试使用这个名为'myDatabase'的数据库的授权连接 .

mongoose.connect('mongodb://try1:hello@localhost:27017/myDatabase');

但这是我得到的错误:

name:'MongoError',消息:'身份验证失败 . ',ok:0,错误:'身份验证失败 . ',代码:18,codeName:'AuthenticationFailed'}通过$ 断开Mongoose断开的Mongoose

3 回答

  • 2

    继@kartGIS之后,我又添加了一个选项,使连接代码尽可能完美 .

    mongoose.connect("mongodb://localhost:27017/databaseName", {
        "auth": { "authSource": "admin" },
        "user": "username",
        "pass": "password",
        "useMongoClient": true
    });
    
  • 4

    我有同样的问题,它通过删除'authSource'参数解决

    /* Not working */
    mongoose.connect("mongodb://localhost:27017/test", {
        "auth": { "authSource": "admin" },
        "user": "admin",
        "pass": "admin123",
        "useMongoClient": true
    });
    
    /* Working */
    mongoose.connect("mongodb://localhost:27017/test", {
        "user": "admin",
        "pass": "admin123",
        "useMongoClient": true
    });
    

    在Mongoose-v5.0.0上测试 .

  • 6

    很多小时前我遇到了同样的问题,毕竟我解决了 . 我的代码是:

    mongoose.createConnection("mongodb://localhost:27017/dbName",{"auth":
     {"authSource": "admin"},
    "user": "admin",
    "pass": "password"});
    

相关问题