Baidu bae mongodb tidak menyokong sambungan yang panjang, jadi mekanisme penyambungan semula diperlukan. Saya melihat orang lain di Internet menggunakan mongoose.createConnection(), tetapi apabila saya menggunakan createConnection(), saya akan mendapat ralat dan tidak dapat menyambung sama sekali
Tetapi mongoose.connect() boleh menyambung, jadi saya menulis versi penyambungan semula mongoose.connect()
`var db = mongoose.connection;
db.on('error',function(error){
mongoose.disconnect();
})
db.on('terputus', fungsi() {
mongoose.connect(config.mongo, {server:{auto_reconnect:true,poolSize:10}});
});
mongoose.connect(config.mongo, {server:{auto_reconnect:true,poolSize:10}});`
Config.mongo di dalam ialah url untuk disambungkan ke pangkalan data!
Sila beritahu saya bagaimana untuk menyelesaikan masalah ini
1 Masalah: Tetapi apabila saya menggunakan createConnection(), saya mendapat ralat dan tidak boleh menyambung sama sekali.
Apabila menggunakan createConnection, model mongoose.model tidak boleh digunakan, sila rujuk berangan di atas.
2 Baidu bae menyokong 60 minit sambungan, yang sepatutnya mencukupi.
Maklumat tapak web rasmi yang dipetik: Selepas sambungan MongoDB awam diwujudkan, jika ia melahu selama 1 jam tanpa sebarang aktiviti, sambungan akan diputuskan oleh pelayan. Jika permintaan sambungan baharu dimulakan apabila bilangan sambungan serentak telah mencapai had kuota, pelayan akan mencari sambungan sedia ada untuk melihat jika terdapat mana-mana yang telah melahu selama lebih daripada 30 saat, dan jika ya, putuskan sambungan sekurang-kurangnya baru-baru ini menggunakan sambungan (Paling Kurang Digunakan) dan menerima permintaan sambungan baharu, sebaliknya, tolak permintaan sambungan baharu. Sila beri perhatian kepada masalah bahawa sambungan MongoDB yang telah lama melahu akan terputus sambungan dalam kod aplikasi.
Untuk rujukan.
Sayangi MongoDB! Selamat mencuba!
2017Komuniti MongoDB Persidangan Kumpulan Pengguna Beijing akan datang tidak lama lagi, 3 Jun 2017 13:00-18:00
Cepat daftar! Klik Saya