node.js - Mongoose 连接 mLab 时出现连接错误

标签 node.js mongodb

我正在尝试使用系统中的 Mongoose 连接到 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:password@server.mlab.com: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。

最佳答案

我刚才也遇到了同样的问题。就我而言,我通过 VPN 连接到我的办公室网络,但它被阻止了。

解决方案:- 我断开与 VPN 的连接并运行命令进行连接,并且能够连接。 希望对您有帮助!

关于node.js - Mongoose 连接 mLab 时出现连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40780131/

相关文章:

mysql - Node.JS Azure MySQL { [错误 : Cannot enqueue Query after fatal error. ] 代码 : 'PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR' , 致命: false }

javascript - 从 Express.js 路由堆栈中删除路由器

java - 如何在 spring-boot 中禁用 spring-data-mongodb

javascript - 优化 Node.js 中的组合 MongoDB 查询

MongoDB - 根据多个字段选择不同的记录

node.js - PUT 的 Node JS 请求 promise

node.js - 如何在 Sequelize ORM 映射到 MySQL 数据库中使用 COUNT DISTINCT CASE 表达式?

mongodb - MongoDB + Grails:如何使用Grails中的$ all运算符

mongodb - MongoDB 2.4 和 2.6 之间的多边形几何图形在 $not $geoWithin 中的不同语义

node.js - 我如何验证用户的输入?