sea*_*nEd 0 mongoose mongodb express
一般来说,我是表达/节点和网络编程的新手.当mongoose的mongodb连接超时时,处理此错误的最佳方法是什么,这就是我连接的方式:
mongoose.connect(config.mongoUrl);
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'error connecting with mongodb database:'));
db.once('open', function() {
console.log('connected to mongodb database');
});
Run Code Online (Sandbox Code Playgroud)
在我的服务器运行时超时时出现错误:
与mongodb数据库连接时出错:错误:Db处的连接超时.(C:\ Users\Sean\OneDrive\webpages\000\lasttry \node_modules\mongoose\lib\drivers \node-mongodb-native\connection.js:169:17)在emitTwo(events.js:106:13)at at在emitOne上的Server.listener(C:\ Users\Sean\OneDrive\webpages\000\lasttry \node_modules\mongodb\lib\db.js:1798:14)中的Db.emit(events.js:191:7) .js:96:13)在Server的Server.emit(events.js:188:7).(C:\ Users\Sean\OneDrive\webpages\000\lasttry \node_modules\mongodb\lib\server.js:274:14)在Servers.emit的emitOne(events.js:96:13)处(events.js: 188:7)在游泳池.(C:\ Users\Sean\OneDrive\webpages\000\lasttry \node_modules\mongodb -core\lib\topologies\server.js:335:12)在Pool.emit(events.js:96:13)的pool.emit( events.js:188:7)在Connection.位于emitTwo的Connection.g(events.js:291:16)处的(C:\ Users\Sean\OneDrive\webpages\000\lasttry \node_modules\mongodb-core\lib\connection\pool.js:270:12) events.js:106:13)在Connection.emit(events.js:191:7)
如何断开连接只需重新连接到mongo.见下文:
mongoose.connect(config.mongoUrl);
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'error connecting with mongodb database:'));
db.once('open', function() {
console.log('connected to mongodb database');
});
db.on('disconnected', function () {
//Reconnect on timeout
mongoose.connect(config.mongoUrl);
db = mongoose.connection;
});
Run Code Online (Sandbox Code Playgroud)
您还可以在连接上设置超时值.
mongoose.connect(url, { server: { socketOptions: { connectTimeoutMS: 1000 }}}, function(err) { ... });
Run Code Online (Sandbox Code Playgroud)
此外,请确保mongo仍在您的计算机上运行.连接超时可能意味着mongo没有运行.
参考:另一个堆栈溢出问题
| 归档时间: |
|
| 查看次数: |
3304 次 |
| 最近记录: |