Heim > Fragen und Antworten > Hauptteil
Baidu bae mongodb unterstützt keine langen Verbindungen, daher ist ein Wiederverbindungsmechanismus erforderlich. Ich habe andere im Internet gesehen, die mongoose.createConnection() verwendeten, aber wenn ich createConnection() verwendete, bekam ich eine Fehlermeldung und konnte überhaupt keine Verbindung herstellen
Aber mongoose.connect() konnte eine Verbindung herstellen, also habe ich eine Version für die erneute Verbindung geschrieben mongoose.connect()
`var db = mongoose.connection;
db.on('error',function(error){
mongoose.disconnect();
})
db.on('disconnected', function() {
mongoose.connect(config.mongo, {server:{auto_reconnect:true,poolSize:10}});
});
mongoose.connect(config.mongo, {server:{auto_reconnect:true,poolSize:10}});`
Die darin enthaltene configh.mongo ist die URL zum Herstellen einer Verbindung zur Datenbank!
Bitte sagen Sie mir, wie ich dieses Problem lösen kann
PHP中文网2017-05-31 10:38:10
1、问题:可是我用createConnection()就会报错,根本连不了。
var conn = mongoose.createConnection('your connection string'),
MyModel = conn.model('ModelName', schema),
m = new MyModel;
m.save(); // works
使用createConnection的时候,不能用mongoose.model,请参考上面的栗子。
2、百度bae支持60分钟的连接,应该够用了吧。
引用的官网信息:公有MongoDB连接建立后如果连续空闲1小时无任何活动,将会被服务器端断开连接。如果在并发连接数已达到配额上限的情况下再发起建立新连接请求,服务器端将会在已有连接中查找是否有空闲30秒以上的,如果有则断开最近最不活跃(Least Recently Used)的一个连接并接受新连接请求;否则拒绝新连接请求。请您注意在应用代码中处理长时间空闲MongoDB连接将会被断开的问题。
供参考。
Love MongoDB! Have fun!
2017MongoDB中文社区北京用户组大会在即,2017年6月3日 13:00-18:00
赶紧报名参加吧!Click Me