Node.js Mongoose在使用mongolab uri连接时出错?
它给出了以下错误-Node.js Mongoose在使用mongolab uri连接时出错?,node.js,mongodb,mlab,Node.js,Mongodb,Mlab,它给出了以下错误- mongoose connection error: { [MongoError: connect EINVAL] name: 'MongoError', message: 'connect EINVAL' } /home/user/Documents/oes/node_modules/connect-mongo/node_modules/mongodb/lib/server.js:228 process.nextTick(function() { throw e
mongoose connection error: { [MongoError: connect EINVAL] name: 'MongoError', message: 'connect EINVAL' }
/home/user/Documents/oes/node_modules/connect-mongo/node_modules/mongodb/lib/server.js:228
process.nextTick(function() { throw err; })
^
Error: connect EINVAL
at errnoException (net.js:905:11)
at connect (net.js:767:19)
at net.js:846:9
at asyncCallback (dns.js:68:16)
at Object.onanswer [as oncomplete] (dns.js:121:9)
6月14日18:04:11-[nodemon]应用程序崩溃-在启动之前等待文件更改…这是一个非常老的问题,但由于还没有人回答它 我们经常看到用户在使用Mongoose驱动程序连接MongoLab时遇到问题。根本原因几乎总是驱动程序配置不正确,尤其是在超时时。以下是使用MongoLab推荐的驱动程序选项的连接示例:
// mongoose 4.3.x
var mongoose = require('mongoose');
/*
* Mongoose by default sets the auto_reconnect option to true.
* We recommend setting socket options at both the server and replica set level.
* We recommend a 30 second connection timeout because it allows for
* plenty of time in most operating environments.
*/
var options = { server: { socketOptions: { keepAlive: 300000, connectTimeoutMS: 30000 } },
replset: { socketOptions: { keepAlive: 300000, connectTimeoutMS : 30000 } } };
var mongodbUri = 'mongodb://user:pass@host:port/db';
mongoose.connect(mongodbUri, options);
var conn = mongoose.connection;
conn.on('error', console.error.bind(console, 'connection error:'));
conn.once('open', function() {
// Wait for the database connection to establish, then start the app.
});
如果这不起作用,请确保您的密码或用户名没有任何特殊字符,请先尝试通过CMD连接
希望我能帮上忙:)确保密码中没有特殊字符的建议是很好的建议。确保您的密码中没有“@”符号。我的文件中有和@,我想它与URI模板冲突。