情况描述,关了电脑,第二天查询数据,报错An error occurred while loading navigation: topology was destroyed
我的数据库连接代码如下:
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var db = mongoose.connection;
网上百度下,没什么合适的解释,大概理解一个意思,就是长时间没有请求,数据库断开了。
我又去找了 mongoose 重连数据库的方法,比较合理的是设置一个连接池,并自动重新连接,方法如下:
先定义一个 options 对象,如下:
const options = {
server: {
auto_reconnect: true,
poolSize: 10
}
};
`poolSize`是连接池最多可连接的数量,
`auto_reconnect`是自动重新连接,设置为 true,
然后在连接数据库的时候将 options 对象当作参数传入:
mongoose.connect('mongodb://localhost/test',options);