Ben sürekli çalıştırmak için olmayan bir komut dosyası içinde mongoose kullanıyorum ve çok basit bir sorun gibi görünüyor henüz karşı karşıya değilim ama bir cevap bulamıyorum; basitçe nodejs örneğimin hiçbir zaman durmadığı mongodb'a istek gönderen herhangi bir mongoose işlevine çağrı yaptığımda ve Ctrl + c veya Program.exit () ile manuel olarak öldürmek zorunda kaldım.
Kod kabaca şöyle görünür:
var mongoose = require('mongoose');
// if my program ends after this line, it shuts down as expected, my guess is that the connection is not really done here but only on the first real request ?
mongoose.connect('mongodb://localhost:27017/somedb');
// define some models
// if I include this line for example, node never stop afterwards
var MyModel = mongoose.model('MyModel', MySchema);
Mongoose.disconnect () çağrıları eklemeyi denedim ama sonuç yok. Bunun yanı sıra, her şey iyi çalışıyor (bulma, kaydetme, ...).
Bu kişi ile aynı sorun, ne yazık ki herhangi bir cevap almadı: https://groups.google.com/group/mongoose-orm/browse_thread/thread/c72cc1c51c76e661
Teşekkürler
DÜZENLEME: teknik olarak doğru olduğu için aşağıdaki yanıtı kabul ettiyse de, kimse bu sorunu tekrar vurursa, hala çalışan sorgular olup olmadığını sorduğunuzda mongoose ve / veya mongodb sürücüsünün bağlantıyı gerçekten kapatmamış gibi görünüyor.
Bağlantıyı kesme çağrısını bile hatırlamıyor, sorgular çalışmayı bitirdikten sonra yapmıyor; sadece herhangi bir istisna ya da herhangi bir şey olmadan çağrınızı atar ve bağlantıyı asla kapatmaz.
Yani burada: gerçekten çalışmasını istiyorsanız disconnect () çağırmadan önce her sorgunun işlendiğinden emin olun.