2016-11-24 127 views
1

我试图连接使用猫鼬MLAB从我的系统,但它一直与下面的错误猫鼬连接错误连接到MLAB

name: 'MongoError', 
message: 'failed to connect to server [server address here] on first connect' } 

这失败是我的代码:

var mongoose = require('mongoose') 
var Schema = mongoose.Schema; 


var options = { 
    server: { socketOptions: { keepAlive: 300000, connectTimeoutMS: 30000 } }, 
    replset: { socketOptions: { keepAlive: 300000, connectTimeoutMS: 30000 } } 
}; 


mongoose.connect('mongodb://username:[email protected]:port/appname', options); 

var conn = mongoose.connection 

conn.on('error', console.error.bind(console, 'connection error:')); 

var User = mongoose.model('User', new Schema({ 
    name: String, 
    username: { type: String, required: true, unique: true }, 
    password: { type: String, required: true }, 
    admin: Boolean, 
    location: String, 
    created_at: Date, 
    updated_at: Date 
})); 


var new_user = new User({ 
    name: 'name', 
    username: 'username', 
    password: 'password' 
}); 



conn.once('open', function() { 
    console.log('started') 
    new_user.save(function(err) { 
     if (err) throw err; 
     console.log('User created!'); 
    }); 
}); 

请让我知道我如何成功连接到mLAB。

+0

你试过用mongo客户端连接吗?也许这是一个网络问题? –

+0

当我从mongo客户端尝试时,我得到这个错误0061因为目标机器主动拒绝它,所以没有连接。 – v1shnu

+0

尝试创建一个新用户和密码以防万一,并确保用户没有读取只能访问并重试。似乎是一个授权问题,您提供的信息 – CodePhobia

回答

0

我刚才也面临同样的问题。在我的情况下,我通过VPN连接到了我的办公室网络,并且它被阻止了。

解决方案: - 我从VPN断开连接并运行命令连接,并能够连接。 希望它有帮助!

0

我遇到同样的问题,通过MongoDB URI连接并联系他们。问题在于我在我的密码中包含了一个特殊字符(@),并且解析器将其作为分隔符处理,所以密码解析错误。他们建议不要在你的密码中包含任何特殊字符,并且解决问题。