【问题标题】:mongoose connection to mongodb 2.6.1 replica set auth failedmongoose 连接到 mongodb 2.6.1 副本集身份验证失败
【发布时间】:2015-07-09 20:05:37
【问题描述】:

我正在尝试使用 mongoose 从 node.js 连接 mongodb。 我在连接到多个服务器时遇到问题。 我能够连接到单个服务器。 如果我尝试连接多个服务器(因为我想连接到 replicasets )它会抛出错误 auhtfailed。

var options = {
'db': {
    'native_parser': true
},
'server': {
    'auto_reconnect': true,
    'poolSize': 5,
    'socketOptions' : { 'keepAlive': 1 }
},
'replset': {
    'readPreference': 'nearest',
    'strategy': 'ping',
    'rs_name': 'rs01',
    'socketOptions' : { 'keepAlive': 1 }
}
};

var connect = mongoose.connect('mongodb://adminname:adminpassword@host1:27017,host2:27017,host3:27017/myDatabase', options , function (err) {
"use strict";
if (err) {
    console.log(err);
}else{
    console.log("connected")
}

显示身份验证失败并抛出此错误

{ [MongoError: auth failed] name: 'MongoError', message: 'auth failed', ok: 0, errmsg: 'auth failed', code: 18 }

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:
     mongoConnectionString : "mongodb://dbusername:dbpassword@localhost:27017/db,host2:27017/db,host3:27017/db",
    
    mongoDbOptions : {
        db: {
            native_parser: true
        },
        server: {
            poolSize: 5
        },
        replset: {
            rs_name: 'rplname',
            readPreference: 'ReadPreference.secondaryPreferred'
        },
        pluralization: false,
        host: 'localhost',
        port : '27017'
    },
    mongoose.connect(mongoConnectionString, mongoDbOptions, function (error) {
        "use strict";
        if (error) {
            console.log(error);
        }
        else {
            console.log("Connection to mongo successful");
        }
    });
    

    这对我有用!谢谢;..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-18
      • 1970-01-01
      • 2015-08-29
      • 2019-06-22
      • 2018-09-25
      • 1970-01-01
      • 2016-03-20
      • 1970-01-01
      相关资源
      最近更新 更多